用户外键列出用户的所有项目

时间:2015-09-07 15:30:51

标签: ruby-on-rails activeadmin formtastic

我正在使用ActiveAdmin,我想列出属于特定用户的项目。这两种资源具有has_manybelongs_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的了解到目前为止还是非常基础;)对任何建议都很满意。

1 个答案:

答案 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")。