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