所以基本的是我目前有一个名为categories show self
的自引用模型class Category < ApplicationRecord
belongs_to :category
has_many :children, -> { order(:name) }, :dependent => :destroy, :class_name => 'Category'
validates :name, presence: true
end
以下是Category
的ActiveAdmin类ActiveAdmin.register Category do
permit_params :name, :category_id
index do
column :name
column(:category_id) do |category|
category.category_id? ? category.category_id : 'Parent'
end
actions
end
end
我要做的是检查类别是否属于子类别,如果显示父母姓名,如果不显示,则显示父母&#39;。如上所示,我有显示父工作的代码。
如果我不使用代码块,只需使用以下代码:
column :category_id
然后它将显示父名称。但这是我在代码块中使用category.category_id时看到的内容
也许我错过了什么,但非常感谢任何帮助。
答案 0 :(得分:1)
我想出了这个,但想分享我发现的东西。使用自引用列时,可以使用model.model显示父子关系。以下是我为使这项工作所做的改变:
ActiveAdmin.register Category do
permit_params :name, :category_id
index do
column :name
column "Parent Category", (:category_id) do |category|
category.category_id? ? category.category : 'Parent'
end
actions
end
end
如您所见,使用代码块中的category.category允许显示父级。希望这可以帮助将来的某个人。