我已经经历了 N 个在 Rails 中创建动态下拉列表的解决方案,但似乎没有任何效果。
我有一个典型的州和城市模型,我不想使用卡门。
这是我的模型:-
市场.rb
class Market < ActiveRecord::Base
attr_accessible :state, :cities_attributes
has_and_belongs_to_many :users
has_many :cities, :dependent => :destroy
accepts_nested_attributes_for :cities
validates :state, :presence => true, :uniqueness => true
end
城市.rb
class City < ActiveRecord::Base
attr_accessible :city
belongs_to :market
has_and_belongs_to_many :users
end
在设计/注册/新(我希望用户在注册时选择州和城市)
%li
=f.collection_select :city, Market.all,:id, :state, html_options = { :class => "custom_textarea"}
%li
=render "devise/registrations/cities", :f => f
_cities.html.haml 部分
-unless cities.blank?
=f.collection_select( :city, @cities, :id, :cities)
注册控制器.rb
def update_city_select
@cities = City.where(:country_id => params[:id])
render :partial => "cities", :locals => {:cities => @cities}
end
一旦用户选择一个州并填充相关城市,我希望城市列表发生变化。
我怎样才能做到这一点?