Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Rails动态下拉列表未在编辑表单中预先填充_Jquery_Ruby On Rails_Forms_Dynamic_Drop Down Menu - Fatal编程技术网

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])