rails:活动管理过滤器

时间:2015-01-18 15:39:06

标签: ruby-on-rails ruby ruby-on-rails-4 activeadmin

我在我的rails应用中使用Active管理员并希望根据国家/地区过滤公司模型,我在公司表中有一个国家/地区列,数据类型为字符串,我使用{{3宝石。 所以我实际上在做的是

filter :country, as: :country

但这不起作用,任何人都可以帮助我获得工作国家过滤器吗?

我知道此代码filter :country, as: :string可以使用,但我想要一个包含所有国家/地区的选择列表

2 个答案:

答案 0 :(得分:0)

这就是你在AA中使用过滤器的方式:

filter :country, as: :select

这样做是为select创建一个集合,其中Company类的每个实例都由名为country的属性映射

修改

根据评论,要使用国家/地区名称而不是代码,您可以使用以下内容:

filter :country, as: :select, collection: ActionView::Helpers::FormOptionsHelper::COUNTRIES

编辑#2

要在视图中显示国家/地区名称而不是国家/地区代码,您必须执行以下操作:

column :country do |g|
  ISO3166::Country[g.country]
end

答案 1 :(得分:0)

我有一个名为Soundwave的模型,并且有一个国家/地区字段,仅包含两个国家/地区:英国和我们。 所以,我做了一个这样的收藏:

  filter :country, as: :select, collection: -> {
    Soundwave.group(:country).select(:country).map(&:country)
  }