Rails
activeadmin

[Rails 4.x] ActiveAdmin をカスタマイズして、indexやshowでassociation関係のテーブルのカラムも表示させる

More than 3 years have passed since last update.


アソシエーションの確認


app/models/product.rb

class Product < ActiveRecord::Base

belongs_to :maker
end


app/models/maker.rb

class Maker < ActiveRecord::Base

has_many :products
end


indexページをカスタマイズ

以下を追記。


app/admin/product.rb

ActiveAdmin.register Product do

index do
selectable_column

column :id do |product|
link_to product.id, admin_product_path(product)
end
column :name do |product|
link_to product.name, admin_product_path(product)
end
column :description
column :maker do |product|
if product.maker.present?
link_to product.maker.name, admin_maker_path(product.maker)
else
status_tag('Empty')
end
end
end
end



showページをカスタマイズ

以下を追記。


app/admin/product.rb

ActiveAdmin.register Product do

show do |f|
panel "Subject" do
attributes_table_for f, :id,:name,:description,:maker
end
end
end


参考

http://stackoverflow.com/questions/19326625/cant-display-in-active-admin-index-attribute-of-associated-model-belongs-to-ha

http://alfa.hatenablog.jp/entry/2014/08/17/224914