URL field
Sometimes you want to accept a URL field on one of your models. Take for example a Company model with a website field. You want the URL to always have “http://” but sometimes users enter http://, sometimes they dont.
Your app shouldn’t care. Enter the URL field plugin.
This simple plugin allows you to enter either “http://www.example.com” or just “www.example.com” and in either case it will store “http://www.example.com”
Usage
class Company < ActiveRecord::Base
url_field :website
end
@company = Company.new
@company.website = "www.example.com"
@company.save
@company.website # => "http://www.example.com"
Https? That works too (but one way only)
@company.website = "https://www.example.com"
@company.save
@company.website # => "https://www.example.com"
Extra
Multiple fields
If you have multiple url_fields in a single model, just pass them as arguments to the url_field method, eg:
class Company < ActiveRecord::Base
url_field :website, :support_website, :more_info_website
end
Access the correctly formed URL at any time
If you want access to the correctly formatted URL at any time (for example if you’re passing it to URI.parse, before you save your model), you can prefix your URL field method name with “cleaned_” eg. “cleaned_website” if your field name was website:
class Company < ActiveRecord::Base
url_field :website
end
@company = Company.new
@company.website = "www.example.com"
@company.cleaned_website # => "http://www.example.com"
Install
Easy!
./script plugin install git://github.com/paulca/url_field.git
About me
I’m Paul Campbell. I’m an avid Ruby on Rails web developer. Follow my ramblings at http://www.pabcas.com
Follow me on Twitter http://twitter.com/paulca
Copyright © 2009 Paul Campbell, released under the MIT license