首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将carmen gem与rails结合使用

将carmen gem与rails结合使用
EN

Stack Overflow用户
提问于 2015-04-08 18:56:14
回答 1查看 231关注 0票数 0

我正在尝试做的是显示国家的2个字母的缩写代码,即'US‘。

选择国家后,我需要显示它的州或省。但我有个问题。

我的代码看起来像这样

代码语言:javascript
复制
<%= f.select :country_code, region_options_for_select(only_us_and_france) %>

并在helper中定义:

代码语言:javascript
复制
def only_us_and_france
    Carmen::Country.all.select{|c| %w{US FR}.include?(c.code)}
end

我使用的是Rails 4.1.0。

EN

回答 1

Stack Overflow用户

发布于 2015-04-09 14:14:49

我已经通过以下方式解决了这个问题:

Step1:生成的迁移

代码语言:javascript
复制
rails g migration addStateCodeFieldToAccounts state_code:string

Step2:在控制器内部定义方法

代码语言:javascript
复制
def subregion_options
    render partial: 'subregion_select'
end

Step3:在路由中声明

代码语言:javascript
复制
resources :accounts do
    collection do
      get 'subregion_options'
    end
  end

Step4:在视图

代码语言:javascript
复制
<div class="input-control select state_input" data-role="input-control">
   <%= f.select :country, region_options_for_select(only_us_and_france) %>
</div>
<div class="input-control select state_input" data-role="input-control">
  <%= render partial: 'subregion_select', locals: {parent_region: f.object.country} %>
</div>

Step5: Make partial subregion_select

代码语言:javascript
复制
<div id="account_state_code_wrapper">
  <% parent_region ||= params[:parent_region] %>
  <% country = Carmen::Country.coded(parent_region) %>

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

Step6:在我的js文件中写下这个

代码语言:javascript
复制
 $('select#account_detail_country').change(function(){
    selectWrapper = $('#account_state_code_wrapper')
    countryCode = $(this).val()
    url = "/account_details/subregion_options?parent_region="+countryCode
    console.log(url)
    selectWrapper.load(url)
  });

是的,它起作用了:)希望这会对你有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29512717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档