Ruby请求将错误的参数传递给对象

时间:2014-11-04 09:30:47

标签: ruby-on-rails

好的,我有一个基本的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

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您正在尝试使用相同的User找到Listingid,而您id只收到Listing ListingController 1}}。

假设您在两个模型中设置了关系,那么获得正确的ListingUser的方法是:

@listing = Listing.find(params[:id])
@user = @listing.user