我使用的是gem discard和rails-admin。我想知道在rails管理中列出商店中的活跃用户的最佳方法是什么,同时考虑到保留的用户
我在模型店里创建了一个方法:
class Shop < ApplicationRecord
include ShopRailsAdmin
has_many :users
def active_users
users.kept
end
end在rails管理中,我使用:
field :active_users do
label 'Users'
end但是我收到的是AssociationRelation而不是CollectionProxy,所以在视图中,关联看起来像这样
#<User::ActiveRecord_AssociationRelation:0x00007f9c34c1f8e0>
有没有其他方法可以避免在模型商店中定义方法?
PD:标签也应该是discard的,但它不存在,我无法创建它。
谢谢!
发布于 2019-05-30 03:27:47
您需要将其定义为作用域关联
class Shop < ApplicationRecord
include ShopRailsAdmin
has_many :users
has_many :active_users, -> lambda {
where(discarded_at: nil)
}, class_name: 'User'
end我猜你没有对discard_column进行个性化设置。
Rails管理员应该正确地显示它们。
https://stackoverflow.com/questions/56350398
复制相似问题