im fairly new to Ruby On Rails, but I had to do this and here how I
did it.
in my subscriber controller:
def edit
@subscriber = Subscriber.find(params[:id])
@offer = Offer.find(@subscriber.offer)
@offers = Offer.find(:all)
end
In my edit view:
<p>
Offer:
<select name="subscriber[offer_id]">
<% @offers.each do |offer| %>
<% if @offer==offer %>
<option value="<%= offer.id %>" selected>
<%= offer.name %>
<% else %>
<option value="<%= offer.id %>">
<%= offer.name %>
<%end%>
</option>
<% end %>
</select>
</p>
It may be not the most efficient way since Im fairly new to RoR or to
web programming in general. I just did a if.else checking when in the
list of offers I get the subscriber.offer and added a "selected" a
little bit like your were trying to do
On May 28, 10:09 am, Mike75 <[email protected]> wrote:
> well..
> Litwin, i've tried it..
> and it shows the drop down list..
> but not with the saved data in the selected option, instead, it shows
> the default value, the one on top of the list.
>
> it supposed to work just like that?
> is there something i've done wrong, then?
>
> On May 28, 1:11 am, "E. Litwin" <[email protected]> wrote:
>
> > Have you tried using the same collection_select statement on the edit
> > page? It works for me.
>
> > On May 27, 6:24 am, Mike75 <[email protected]> wrote:
>
> > > hi..
> > > I'm having a problem with an editing view to show a dropdown list
> > > withselectedvalue.
>
> > > my tables are as followed
> > > product table : id | Name | Price | Country_id
> > > country table : id | CountryName
>
> > > on the product new.htm.erb, I've got the list like this
> > > <%= collection_select ("product", "Country_id",
> > > @country, :id, :CountryName) %>
> > > and it generates <select> html tags and saves good too.
>
> > > now, I'd like to edit the product on the edit.html.erb with the same
> > > dropdown list with
> > > collected product.Country_id.
>
> > > <option value = "{product.Country_id}"selected> CountryName</option>
>
> > > anyone knows how to to this? I've tried the rails.api way of doing
> > > it.. such as
>
> > > select(:product, :Country_id, country.find(:all).collect {|c|
> > > [ c.CountryName, c.id ] }, {:include_blank => 'None'})
> > > and it didn't work..
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---