我第一次浏览Hartl教程,第10章编辑/更新用户时遇到错误。接下来,我>>应该<<能够至少查看用户编辑页面,但不断收到以下错误。经历了几次,但似乎无法找到问题的根源。请注意,这是我第一次做任何与编程有关的事情,所以跟我走得很慢。
错误
NilClass的未定义方法`model_name':Class
从我的用户编辑视图中错误地调出了行
<%= form_for(@user) do |f| %>
来自用户控制器的编辑方法
def edit
@user = User.find(params[:id])
@title = "Edit user"
end
在我的用户新视图中使用了类似的代码块而没有任何问题,并且不知道为什么这将返回nil并尝试使用新用户和现有用户。谢谢!
答案 0 :(得分:1)
我遇到了同样的问题,看起来这是因为你的“编辑”动作没有定义。可能是您没有保存user_controller
文件或忘记定义“编辑”变量?
答案 1 :(得分:0)
错误有点模糊。这是说@user
中的<%= form_for(@user) do |f| %>
是零。 @user = User.find(params[:id])
很可能找不到任何东西。将Rails.logger.debug("Id: #{params[:id]}")
置于@user = User.find(params[:id])
之上并查看params[:id]
的传递内容是值得的。
虽然没有教程,但SO post有类似的问题。例外来自form_for
。