我想创建一个链接来引用另一个模型,但我没有主键字段可用。
我想使用store_id_product在OrderProduct中创建一个链接,但主动管理员只使用id_product:
ActiveAdmin.register Product
index do |customer|
column :id_product, :sortable => false (foreign key)
column :description, :sortable => false
column :url, :sortable => false
column :store_id_product, :sortable => false (not a foreign key)
end
end
ActiveAdmin.register OrderProduct
index do |customer|
column :id_order, :sortable => false (foreign key)
column :date_order, :sortable => false
column :id_customer, :sortable => false
column :store_id_product, :sortable => false
end
end
有一些方法可以做到这一点吗?
谢谢!
答案 0 :(得分:1)
您可以通过将块传递给column
方法来自定义表格单元格。
ActiveAdmin.register OrderProduct do
index do |customer|
...
column :store_id_product, :sortable => false do |order_product|
link_to 'Product', product_path(order_product.store_id_product)
end
end
end
如果store_id_product
未指向products
表中的主键,则必须为ProductController
(由ActiveAdmin.resource Product do ... end
生成)提供一种方法来检索该领域的产品。您可以创建new custom action或customize the product's retrieval。第二种情况意味着您始终希望按store_id_product
检索产品。