0

我第一次浏览 Hartl 教程,在第 10 章编辑/更新用户时遇到错误。接下来,我>>应该<<至少能够查看用户编辑页面,但不断收到以下错误。已经经历了几次,但似乎无法找到我的问题的根源。请注意,这是我第一次做任何与编程相关的事情,所以慢慢来。

错误

NilClass:Class 的未定义方法“model_name”

从我的用户编辑视图中错误地调用了行

<%= form_for(@user) do |f| %>

来自用户控制器的编辑方法

    def edit
      @user = User.find(params[:id])
      @title = "Edit user"
    end

在我的用户新视图中使用了类似的代码块,没有任何问题,我不知道为什么这会返回 nil 并且已经尝试过新用户和现有用户。谢谢!

4

2 回答 2

1

我刚刚遇到了同样的问题,看起来这是因为您的“编辑”操作没有定义。可能是您没有保存user_controller文件或忘记定义“编辑”变量吗?

于 2012-10-30T05:40:27.093 回答
0

错误有点模糊。就是说@userin<%= 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.

于 2012-03-13T20:02:47.547 回答