Forum: Ruby on Rails Drop Down Select List from model

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Sahil D. (Guest)
on 2009-02-04 11:27
(Received via mailing list)
hi all,

i am new to rails and not able to figure how to get a drop-down
selection list in a view.
i have 3 models (tables): country, state & city.
country has many states
state has many cities

now i want to create 3 drop down lists, 1 for each. selecting a
country should make states available in that country only, and same
for the state and cities.

i am trying to create the 'country' list with this:
<%=  collection_select(:state, :countries_id,
@countries, :id, :cou_name, {:prompt => "select country"}) %>

def select
    @countries = Country.find(:all)

    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @countries }

although the box is shown, but nothing comes up in it.
i am trying to do this inside a view for 'state'. do i need to do it
inside a separate controller/view??

plz help!!
Julian L. (Guest)
on 2009-02-04 11:50
(Received via mailing list)
You need either javascript code, or an observer. This is not trivial.
Start simply, one step at a time.

Learn rails:
Ram (Guest)
on 2009-02-05 07:22
(Received via mailing list)
You seem to be complicating things. I think this is what you need

<%=  collection_select(:state, :country_id, Country.find
(:all), :id, :cou_name, {:prompt => "select country"}) %>

you do not need the "select" method in the controller for this. Unless
of course you WANT an Ajax call to be made for some reason, in which
case, you need to explain more on what exactly you need.
This topic is locked and can not be replied to.