Rails_admin gem过滤器has_many通过关联

时间:2015-06-30 23:08:46

标签: ruby-on-rails ruby associations rails-admin

我希望能够使用“添加过滤器”下拉列表,以便管理员可以搜索已标记特定名称的帖子。

我的帖子模型

class Post < ActiveRecord::Base
    belongs_to :user
    has_many :post_flags
    has_many :flags, through: :post_flags

配置/初始化/ rails_admin.rb

config.model 'Post' do
    exclude_fields :rank, :embedded_url, :attached_picture, :updated_at

    object_label do
        "#{bindings[:post].user.name}"
      end

    list do
      field :text_content
      field :created_at
      field :user_id
      field :likes_number
      field :post_flags 
    end
 end

我尝试在字段中添加“searchable”:post_flags无济于事。任何帮助将非常感激。

screenshot

1 个答案:

答案 0 :(得分:0)

我目前正在努力解决类似问题。

将以下内容添加到rails admin配置应允许您添加post_flag过滤器:

field :post_flags do
  searchable :name
end

但是,当您尝试使用搜索过滤器时,您将收到SQL错误。

我们可能不得不攻击RailsAdmin的MainController。查看这篇文章:http://blog.endpoint.com/2013/07/hasmany-filter-in-railsadmin.html