Jquery Rails动态下拉列表未在编辑表单中预先填充
我在用户表单中有一个动态下拉列表,其中包含基于所选州的城市。在创建记录时,表单可以完美地工作,但在编辑用户时,只有州会填充现有值-理想情况下,表单会填充用户的州和城市(下拉列表中填充州的城市) 在表格中,我有:Jquery Rails动态下拉列表未在编辑表单中预先填充,jquery,ruby-on-rails,forms,dynamic,drop-down-menu,Jquery,Ruby On Rails,Forms,Dynamic,Drop Down Menu,我在用户表单中有一个动态下拉列表,其中包含基于所选州的城市。在创建记录时,表单可以完美地工作,但在编辑用户时,只有州会填充现有值-理想情况下,表单会填充用户的州和城市(下拉列表中填充州的城市) 在表格中,我有: <%= f.input :state_id, :collection => @states, :prompt => "Pick Your State" %> </div> <div id="usercities"> <%=
<%= f.input :state_id, :collection => @states, :prompt => "Pick Your State" %>
</div>
<div id="usercities">
<%= render :partial => 'cities', :locals => { :cities => @cities, :user => form } %>
</div>
编辑表单时,“城市”下拉列表为空,但如果我更改状态,它将正确填充城市
谢谢
编辑:
不确定是否相关,但在routes.rb中我有
匹配'users/update\u city\u select/:id',:controller=>'users',:action=>'update\u city\u select'可能控制器的
编辑方法没有填充@cities
尝试在新的上添加您的行,如果不起作用,请在部分中添加
,以查看内容。可能控制器的编辑
方法没有填充@cities
试着在新的
上添加您的行,如果不起作用,请在部分中添加一个
,以查看内容
<%= simple_fields_for :user do |fields| %>
<% if cities.blank? %>
<%= fields.input :city_id, :collection => cities, :prompt => "Pick Your State" %>
<% else %>
<%= fields.input :city_id, :collection => cities, :prompt => "Pick Your City" %>
<% end %>
<% end %>
@states = State.where(:active => true)
@cities = City.where(:active => true, :state_id => [@user.state_id])