Как лучше всего использовать discard (или act_as_paranoid) в rails-admin? - PullRequest
0 голосов
/ 29 мая 2019

Я использую камень 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, но он не существует, и я мог быне создавать его.

Спасибо!

1 Ответ

0 голосов
/ 29 мая 2019

Вы должны определить это как ассоциацию с областью действия

class Shop < ApplicationRecord
  include ShopRailsAdmin

 has_many :users
 has_many :active_users, -> lambda { 
    where(discarded_at: nil) 
 }, class_name: 'User'
end

Я предполагаю, что вы не персонализировали колонку discard_column.

Администратор Rails должен отображать их правильно.

...