我在我的表单中使用carmen-rails来显示每个国家/地区的国家和子区域,这是我第一次选择一个国家时更新子区域列表,然后当我将这些信息保存在数据库中并转到第二次到上面的页面,并选择另一个国家,它不会更新子区域列表!然后,如果重新加载页面它!这是我的咖啡脚本格式的js文件:
$ ->
$('select#user_detail_attributes_country_code').change (event) ->
select_wrapper = $('#user_detail_attributes_state_code')
$('select', select_wrapper).attr('disabled', true)
country_code = $(this).val()
url = "/orders/subregion_options?parent_region=#{country_code}"
select_wrapper.load(url)
注意:我正在使用 rails 4 ,rails 4会自动执行一些缓存并且不更新列表吗?或者jquery 中的更改方法有问题?我在这里找不到问题,请帮忙
我的订单控制器juste呈现部分:
class OrdersController < ApplicationController
def subregion_options
render partial: 'orders/subregion_select'
end
end
子区域部分代码是:
div#order_state_code_wrapper
- detail ||= params[:detail]
- parent_region ||= params[:parent_region]
- country = Carmen::Country.coded(parent_region) unless parent_region.nil?
- if country.nil?
%em Please select a country above
- elsif country.subregions?
= label_tag :user_detail_attributes_state_code, "State"
= subregion_select_tag("user[detail_attributes][state_code]", detail.try(:state_code), parent_region)
- else
= label_tag :user_detail_attributes_state_code, "State"
= text_field_tag("user[detail_attributes][state_code]", detail.try(:state_code))
修改
我在jquery的更改方法中添加了警告(“foo”),当我选择一个国家时,有时它会提醒我“foo”,有时候不起作用!