Carmen Rails-设计 - Rails 4:country_code问题

时间:2013-12-04 12:52:19

标签: ruby-on-rails-4

我是新人,我有一个基本问题

当我使用Rails 4使用carmen-rails创建一个新用户时,country_code和states_code不会通过

允许country_code和state_code

以下是我的代码:

在设计注册中:

= f.label :country_code 
= f.country_select :country_code, {priority: %w(US CA), prompt: "Please select your country"}, :style => "width:170px;float:left;font-size:14px;", :type => 'text'
= f.label :state_code
= render partial: '/users/subregion_select', locals: {parent_region: f.object.country_code}

在users / subregionselect中:

<% parent_region ||= params[:parent_region] %> <% unless parent_region.nil? %>
<% country = Carmen::Country.coded(parent_region) %> 
<% end %>

<% if country.nil? %>
Please select a country above
<% elsif country.subregions? %>
<%= f.subregion_select(:user, :state_code, parent_region) %>
<% else %>
<%= text_field(:user, :state_code) %>
<% end %>

在users.js.coffee中

$('select#user_country_code').change (event) ->
select_wrapper = $('#user_state_code_wrapper')

$('select', select_wrapper).attr('disabled', true)

country_code = $(this).val()

url = "/users/subregion_options?parent_region=#{country_code}"
select_wrapper.load(url)

在routes.rb

get '/users/subregion_options' => 'users#subregion_options'
用户控制器中的

def subregion_options
render partial: 'subregion_select'
end

在我的控制台上,除了country_code之外,所有数据都被保存:nil(即使我放了美国),当我选择国家时,不会生成states_code。

是因为我需要使用Formstatic吗?

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

看起来像Devise params卫生问题。

#application_controller

def configure_permitted_parameters
    devise_parameter_sanitizer.for(:sign_up) { |u| 
         u.permit(:email, 
                  :password, 
                  :password_confirmation, 
                  :first_name, 
                  :last_name, 
                  :street1, 
                  :street2, 
                  :city,
                  :state, 
                  :zipcode, 
                  :country_code) 
 }

试一试!

干杯