Ruby on rails 3 Rails:ActiveRecord::RecordNotFound,无法';找不到<;模型>;id=num的

Ruby on rails 3 Rails:ActiveRecord::RecordNotFound,无法';找不到<;模型>;id=num的,ruby-on-rails-3,activerecord,Ruby On Rails 3,Activerecord,我的RubyonRails应用程序中有两个模型:用户和书架。我为每个书架提供了一个编辑链接,但当我单击这些链接时,我遇到了一个错误: ActiveRecord::RecordNotFound in BookcasesController#edit Couldn't find User with id=19 (请注意,它要求用户Id。另外,值得注意的是,书架属于用户。) 以下是我用来创建链接的片段: <%= link_to "edit", edit_bookcase_path(bookca

我的RubyonRails应用程序中有两个模型:用户和书架。我为每个书架提供了一个编辑链接,但当我单击这些链接时,我遇到了一个错误:

ActiveRecord::RecordNotFound in BookcasesController#edit
Couldn't find User with id=19
(请注意,它要求用户Id。另外,值得注意的是,书架属于用户。)

以下是我用来创建链接的片段:

<%= link_to "edit", edit_bookcase_path(bookcase.id) %>


如果你需要任何进一步的代码,让我知道,我会发布它

根据我对您的询问所知,如果您在编辑方法的BookcasesController中,您不应该调用用户,您应该调用书架,如下所示:

@bookcase = BookCase.find(params[:id]) // WHAT YOU WANT
似乎您使用的是此代码,这会给您带来错误:

@bookcase = User.find(params[:id]) // NOT WHAT YOU WANT
这将返回id为19的书架,它应该属于用户。如果需要访问该书所属的用户,可以这样做:

@user = @bookcase.user
此外,您可以只使用编辑链接,而无需id调用:

<%= link_to "edit", edit_bookcase_path(bookcase) %>

谢谢,德安!这就成功了。我将:id参数应用于User,以便创建书架的分页列表,但现在您已经指出了这一点,我意识到这是行不通的。稍加修改,我就能够通过将代码放入用户控制器中获得相同的效果。