How to handle absolute URL that user inputs into a table?

Hi,

I have a User table that has a Website column.

In the form I would have the user type in the URL to their website.

If they type the full-blown address "http://www.example.com" then "link_to @user.website, @user.website" will work out of the box.

However, if they type in "www.example.com" then the above code would display something like: localhost:3000/controller/action... something like that.

How do I make it that no matter what the user type it, link_to would take them to an external site?

Sorry if this sounds like a too basic question.

Thanks.

You could check what the user enters and add the http:// if they have not provided it, either on the way into the database or out of it.

Colin

Depends on the protocol for the websites. It is difficult to parse all possible protocols. Assuming you are only talking about http, you can do something like

regex = /^(https?:\/\/)/ @user.website = "http://" + @user.website unless regex.match(website)

How do I make it that no matter what the user type it, link_to would take them to an external site?

Sorry if this sounds like a too basic question.

Thanks.

do this no matter what URL user enters it will take him to correct page

        regex = /https?:\/\/(.*)/.match(@user.website)         if regex==nil            link_to @user.website,"http://#\{@user.website}", :popup =>"true"         else           link_to @user.website,"#{@user.website}", :popup =>"true"