我正在使用ActiveAdmin,我想列出属于特定用户的项目。这两种资源具有has_many
和belongs_to
关系。
index
页面列出了所有用户。现在我想为每个用户呈现一个show block
他的项目。
我的show
现在看起来像这样:
ActiveAdmin.register User do
show do
panel "Specific Item List" do
table_for Item.where("user_id=1").fnidi_each do |i|
column("ID"){|item|item.id}
column("Name"){|item|item.name}
end
end
end
end
我如何从页面继承 user_id
到展示面板?因此,每次调用show
时,我都可以使用查询的用户ID。
我知道这些是一个基本问题,但我对Rails / AA的了解到目前为止还是非常基础;)对任何建议都很满意。
答案 0 :(得分:0)
查看ActiveAdmin documentation中的代码,其中" post"似乎是在寄存器块中动态生成的,这表明在你的情况下你可能只能做" user.id"等。
ActiveAdmin.register Post do
show do
h3 post.title
div do
simple_format post.body
end
end
end
因此,您可以尝试使用user.items或Item.where(user_id:user.id)而不是Item.where(" user_id = 1")。