Yuck, I apologize for the horrible sentences in my reply... it is the
end of the day.

On Jun 25, 4:50 pm, John Yerhot <[email protected]> wrote:
> If you're doing form_for something like this will work.
>
> Of course, I'm using a
>
> <% form_for(@your_model_here) do |f| %>
>   <%= f.error_messages %>
>
>   <p>
>     <%= f.label :is_invoicable%><br />
>     <%= f.select :is_invoicable, {"Yes" => true, "No" => false}%>
>   </p>
>   <p>
>     <%= f.submit 'Update' %>
>   </p>
> <% end %>
>
> Of course, you'll need to add whatever html options you need, but
> whatever the object's attributes are will be the selected value.
>
> Hope that helps.
>
> On Jun 25, 10:08 am, byrnejb <[email protected]> wrote:
>
> > I would like to use a select box to display and edit a boolean model
> > attribute.  I realize that perhaps checkboxes or radio buttons are a
> > more idomatic way to do this in html but I would like to use a select
> > box.
>
> > What I want to do is to map the selected value in the box to the
> > existing value of the attribute when the form displays.  I am having
> > trouble figuring out how do to this and the examples I can find are
> > not explicit enough for me to discern how this is done, or if it is
> > possible.
>
> > I have discovered that if one prefaces the select with the form
> > partial variable 'f' then one gets a series of obsure errors about an
> > undefined 'merge' method, while removing this and going with a bare
> > select call avoids the problem and otherwise seems to work. Odd, but
> > there it is.
>
> > Consequently, presently the structure looks something like this:
>
> >    </b><br />
>
> >             <%= select :is_invoicable,
> >               [
> >                 ['Yes', 'true' ],
> >                 ['No', 'false' ],
> >               ],
> >               {}, # select options
> >               :id => 'select_is_invoicable',
> >               :size => 1,
> >               :title => 'May invoices be issued in this currency?'
> >             -%>
> >     </p>
>
> > What I want to accomplish, of course, is to have the current value of
> > is_invoicable (true or false) used to set the selected attribute of
> > the option to either Yes or No as appropriate.  I nonetheless want
> > both options available in the drop down.  I cannot seem to hit upon
> > the exact syntax to do this and the examples in the options_for_select
> > api do not provide me with much guidance.  From them I gathered that
> > this would work:
>
> >               ],
> >               currency_detail.is_invoicabe.to_s, # select options
> >               :id => 'select_is_invoicable',
>
> > But that produces this in the view:
>
> >             <select id="is_invoicable_YestrueNofalse"
> > name="is_invoicable[YestrueNofalse]">
> >                <option value="false">false</option></select>
>
> > When what I was looking for was this:
>
> >             <select id="select_is_invoicable" name="currency
> > [is_invoicable]" size="1"
> >                       title="May invoices be issued in this
> > currency?">
> >                <option value="true">Yes</option>
> >                <option selected="selected" value="false">No</option></
> > select>
>
> >  I would really appreciate guidance on how this is done.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to