ruby-on-rails-3 - 使用事件管理 gem 按 ruby​​ on Rails 中的关联进行过滤

标签 ruby-on-rails-3 activeadmin model-associations

我有两个模型:登录和帐户

class Login
  belongs_to :account
  attr_accessible: first_name, primary_admin # primary_admin is boolean
end

class Account
 has_many: logins

 def primary_admin
  @primary_admin ||= self.logins.find { |l| l.primary_admin }
 end
end

因此,在简历中,一个帐户有多个登录名,但只有一个 primary_admin = true 的登录名。在帐户的过滤器中,我想搜索该登录名(primary_admin = true 的登录名),但使用登录名的名字。

在 app/admin/account.rb 中使用事件管理我有这样的东西

filter :primary_admin, as: :string

但显然不起作用,任何帮助将不胜感激,提前致谢!

这是数据库架构:

登录

id             :integer(4)      not null, primary key
email          :string(255)     default(""), not null
first_name     :string(255)
last_name      :string(255)
primary_admin  :boolean(1)
account_id     :integer(4)

帐户

id              :integer(4)      not null, primary key
name            :string(255)

最佳答案

如果 Primary_admin 是字符串字段,请尝试此操作

ActiveAdmin.register Account do
  filter :primary_admin, as: => :string
end

ActiveAdmin.register Login do
  filter :account_primary_admin, as: => :string
end

或者如果 Primary_admin 是 bool 字段,请尝试此操作

ActiveAdmin.register Account do
  filter :primary_admin, :as => :select
end

ActiveAdmin.register Login do
  filter :account_primary_admin, :as => :select
end

你可能需要删除这个

def primary_admin
  @primary_admin ||= self.logins.find { |l| l.primary_admin }
end

关于ruby-on-rails-3 - 使用事件管理 gem 按 ruby​​ on Rails 中的关联进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16629101/

相关文章:

ruby-on-rails - 事件管理员 : How to customize the main menu (at the top of the page)?

javascript - 为什么 .add() 不在列中插入值?

node.js - Sequelize 关联 :Unhandled rejection TypeError: order. addItems 不是函数

ruby-on-rails-3 - 如何自定义 rails 3 中的事件管理员评论功能

ruby-on-rails-3 - 在 Heroku 日志中查找特定字符串

ruby-on-rails - ActiveAdmin:如何处理大型关联

ruby-on-rails - Rails - 如何通过模型有很多关联来订购模型?

ruby-on-rails - 图片标签显示模型的所有列

ruby-on-rails - 如何在开发中使用 Spree 发送电子邮件

ruby-on-rails - ActiveAdmin - 生成索引链接,过滤器预设?