0

我的 Ruby on Rails 应用程序中有两个模型:User 和 Bookcase。我为每个书柜提供了一个编辑链接,但是当我点击这些链接时,我遇到了一个错误:

ActiveRecord::RecordNotFound in BookcasesController#edit
Couldn't find User with id=19

(请注意,它要求提供用户 ID。此外,值得注意的是 Bookcases belongs_to Users。)

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

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

如果您需要任何进一步的代码,请告诉我,我会发布它!

4

1 回答 1

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) %>
于 2012-06-13T20:19:52.860 回答