好的,我有一个基本的Ruby问题,我在这里找不到答案。我有一个网络应用程序,可以跟踪发布基本上称为列表的广告的用户。我有一个所有用户的所有列表标题的索引。每个用户都有很多列表。
所以在列表索引中我有以下代码
<%= link_to listing.title, listing %>
列表转到包含用户联系信息和详细广告的页面。我的问题是,当它进入该页面时,它试图将listing.id传递给user.id,而不是从列表对象传递user_id
。
显示详细广告的控制器方法如下两行。
@user = User.find(params[:id])
@listing = Listing.find(params[:id])
我收到的错误是当我点击链接localhost:3000/listings/45
时找不到'id'= 45的用户。我没有45个用户,但有超过45个列表。在这种情况下,我对如何正确传递外键感到困惑。
我正在使用rails 4.2.0.beta2
运行 Ruby 2.1.3感谢您的帮助。
答案 0 :(得分:0)
您正在尝试使用相同的User
找到Listing
和id
,而您id
只收到Listing
ListingController
1}}。
假设您在两个模型中设置了关系,那么获得正确的Listing
和User
的方法是:
@listing = Listing.find(params[:id])
@user = @listing.user