htmlruby-on-railsformtasticform-generator

How do I select a default value for a collection of radio buttons in Formtastic?


I'm building a form in Rails3 and Formtastic. I have the following field:

<%= f.input :housing, :as => :radio, :collection => {"Awesome" => "one", "Great" => "two", "Nice" => "three"} %>

Which generates HTML similar to:

<input id="post_one" name="post" type="radio" value="one" />Awesome</label>
<input id="post_two" name="post" type="radio" value="two" />Great</label>
<input id="post_three" name="post" type="radio" value="three" /> Nice</label>

That work flawlessly!

Now I'd like to know how I could pass in an option that would mark "Great" as the default (selected) value. I tried doing the following, but I can't get it to work.

<%= f.input :housing, :as => :radio, :collection => {"Awesome" => "one", "Great" => "two", "Nice" => "three"}, :default => "one" %>

I also tried passing in :selected and :checked instead of :default but alas, it does not work.

Does anybody know of a way to do this?

Thanks!


Edit: Aditya brings up a very good point. Some searching yielded this helpful tip.


Solution

  • Have you tried setting the value of the :housing attribute of your model to the default value? You could do that just before you start the form or in the controller or the best way is to do that in the model initialize? View may not be the best place to default IMHO.