我正在使用carmen-rails进行状态下拉。状态下拉状态在国家/地区更新时动态更新,但在编辑页面上,状态下拉列表不会默认为已保存的状态值。有人可以帮忙吗?
仅供参考 - 我将保存的州值作为本地参数u
传递<div id="order_state_code_wrapper">
<% parent_region ||= params[:parent_region] %>
<% if parent_region.nil? %>
<em>Please select a country above</em>
<% else %>
<% country = Carmen::Country.coded(parent_region) %>
<% if country.nil? %>
<em>Please select a country above</em>
<% elsif country.subregions? %>
<%= subregion_select(:user, :subregion_iso2, parent_region) %>
<% else %>
<%= text_field(:user, :subregion_iso2) %>
<% end %>
<% end %>
</div>
答案 0 :(得分:3)
我遇到了同样的问题并通过执行以下操作解决了它(由https://github.com/jim/carmen-rails/issues/12指向正确的方向)。它还不是最优的,但它确实起到了作用。
<div id="shipping_tally_state_code_wrapper">
<div class="control-group carmen_state required">
<label class="carmen_state_code required control-label" for="shipping_tally_state_code"><abbr title="required">*</abbr> Province</label>
<div class="controls">
<% parent_region ||= params[:parent_region] %>
<% sub_region ||= params[:sub_region] %>
<% country = Carmen::Country.coded(parent_region) %>
<% if country.nil? %>
<span class="help-inline display-id"><em>Please select a country above</em></span>
<% elsif country.subregions? %>
<%= subregion_select_tag('shipping_tally[state_code]', sub_region, country) %>
<% else %>
<%= text_field_tag('shipping_tally[state_code]', sub_region) %>
<% end %>
</div>
</div>
</div>
然后使用以下内容调用此部分:
<%= render partial: 'shared/forms/subregion_select', :locals => { :parent_region => f.object.country_code, :sub_region => f.object.state_code } %>
适用js.coffee无变化。
需要改进的领域: