我的Ruby on Rails应用程序中有两个模型:User和Bookcase。我为每个书架提供了一个编辑链接,但是当我点击这些链接时,我遇到了一个错误:
ActiveRecord::RecordNotFound in BookcasesController#edit
Couldn't find User with id=19
(请注意,它要求用户ID。另外,值得注意的是,Bookcases属于用户。)
以下是我用来创建链接的代码段:
<%= link_to "edit", edit_bookcase_path(bookcase.id) %>
如果您需要更多代码,请告诉我,我会发布!
答案 0 :(得分:2)
从我所知道的问题来看,如果你在EDIT方法的BookcasesController中,你不应该要求用户,你应该调用BookCase,如下所示:
@bookcase = BookCase.find(params[:id]) // WHAT YOU WANT
似乎你有这个代码,它给你错误:
@bookcase = User.find(params[:id]) // NOT WHAT YOU WANT
这将返回具有id 19的BookCase,它应属于用户。如果您需要访问该书所属的用户,您可以这样做:
@user = @bookcase.user
此外,您可以使用编辑链接,而不使用ID调用:
<%= link_to "edit", edit_bookcase_path(bookcase) %>