Ruby on rails 3 访问子对象';控制器中的s id
我有一个模型用户,他有很多物品(一个物品属于一个用户)。我有一个“显示用户”页面,显示用户的信息和他所有物品的列表。我添加了一个链接到每个用户的归属访问一个显示归属页面,这个链接目前不起作用,因为我不知道如何访问归属的id 用户和归属都定义为资源,归属不是用户的成员 下面是一段代码: 用户显示页面包含:Ruby on rails 3 访问子对象';控制器中的s id,ruby-on-rails-3,controller,params,Ruby On Rails 3,Controller,Params,我有一个模型用户,他有很多物品(一个物品属于一个用户)。我有一个“显示用户”页面,显示用户的信息和他所有物品的列表。我添加了一个链接到每个用户的归属访问一个显示归属页面,这个链接目前不起作用,因为我不知道如何访问归属的id 用户和归属都定义为资源,归属不是用户的成员 下面是一段代码: 用户显示页面包含: <% unless @user.belongings.empty? %> <table class="belongings" summary="User's objects
<% unless @user.belongings.empty? %>
<table class="belongings" summary="User's objects and services">
<%= render @belongings %>
</table>
<%= will_paginate @belongings %>
<% end %>
==>:id始终指用户的id。我尝试使用:user\u id访问该用户,但我有一个“找不到没有id的用户”,如果我尝试使用:owning\u id访问归属,我有一个“找不到没有id的归属”
我知道这是最基本的,但我是Rails新手,我已经花了好几个小时研究如何解决这个问题
非常感谢您的帮助 通过
:collection
选项将集合传递给分部时,分部将为集合中的每个成员插入一次
<%= render :partial => "belonging", :collection => @belongings %>
到
现在,控制器的
show
操作。rb将收到归属的id而不是用户。非常感谢Syed,你救了我一天!我真的很感激你给我的完整解释,因为你可能已经注意到我有点迷失和困惑了!
def show
@user = User.find(params[:id])
@belonging = @user.belongings.find(params[:id])
@title = @belonging.name
end
<%= render :partial => "belonging", :collection => @belongings %>
<%= link_to "Show item", belonging_path %>
<%= link_to "Show item", belonging_path(belonging.id) %>