NoMethodError in Devise/registrations#new

Hello, i need help.
Devise + custom action in DeviseRegistrationController + dynamic select.

Manual:
http://pullmonkey.com/2008/3/30/dynamic-select-boxes-ruby-on-rails/

Error:

Either that should be f.collection_select or you need an extra
parameter before :country_id

Colin

_locations.html.erb

_locations.html.erb
--------------------------
<p><%= label_tag :location %><br />
<%= collection_select (:location_id, locations, :id, :location_name,
{:prompt => "Select an Location"}, {:onchange =>
"#{remote_function(:url => {:action => "update_cities"}, :with =>
"'location_id='+value")}"}) %></p>
--------------------------

_cities.html.erb
--------------------------
<p><%= label_tag :city %><br />
<%= collection_select(:city_id, cities, :id, :city_name, {:prompt =>
"Select a City"}) %></p>
--------------------------

what to do with partials?

new error:

--------------------------
NoMethodError in Devise/registrations#new

Showing
C:/projects/djob/app/views/devise/registrations/_locations.html.erb
where line #2 raised:

undefined method `map' for :id:Symbol
Extracted source (around line #2):

1: <p><%= label_tag :location %><br />
2: <%= collection_select (:location_id, locations, :id,

You are still using the syntax for f.collection_select, but are just
using collection_select. Check the docs for that method, you need an
extra parameter before :location_id. See
http://ap.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#M000455

Colin

Colin Law wrote in post #983650:

--------------------------
NoMethodError in Devise/registrations#new

Showing
C:/projects/djob/app/views/devise/registrations/_locations.html.erb
where line #2 raised:

undefined method `map' for :id:Symbol
Extracted source (around line #2):

1: <p><%= label_tag :location %><br />
2: <%= collection_select (:location_id, locations, :id,

You are still using the syntax for f.collection_select, but are just
using collection_select. Check the docs for that method, you need an
extra parameter before :location_id. See

http://ap.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#M000455

Colin

def update_locations
    # Обновляем области и города на основе выбранной страны
    country = Country.find(params[:country_id])
    locations = country.locations
    cities = country.cities

    render :update do |page|
      page.replace_html 'locations', :partial => 'locations', :object =>
locations
      page.replace_html 'cities', :partial => 'cities', :object =>
cities
    end
  end

Have a look at the Rails Guide on debugging. Then set breakpoint in
the view code just before the error and inspect the data to see if it
all looks right.
First though I would check the docs for collection_select and check
that nil is valid as the first parameter. Note particularly in
http://ap.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#M000455
the second sentence and what it says about the object parameter. I
suspect you have another problem with one of the other params that is
causing the map problem. Perhaps one of them is nil also.

Colin