2
我在包含基於選定狀態的城市的用戶表單中有一個動態下拉列表。創建記錄時,表單完美工作,但編輯用戶時,只有狀態填充了現有值 - 理想情況下,表單將填充用戶的狀態和城市(狀態的城市填充在下拉列表中。未在編輯表單中預填充的Rails動態下拉列表
在表單中,我有:
<%= f.input :state_id, :collection => @states, :prompt => "Pick Your State" %>
</div>
<div id="usercities">
<%= render :partial => 'cities', :locals => { :cities => @cities, :user => form } %>
</div>
在部分我有:
<%= 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])
當我編輯表格時,城市下拉菜單是空白的,但是如果我改變了狀態,它會正確填充城市。
謝謝!
編輯:
不知道,如果是相關的,但在routes.rb中我有 匹配 '用戶/ update_city_select /:身份證',:控制器=> '用戶',:動作=> 'update_city_select'