Rails教程10.2 - 6:“用户编辑中的NoMethodError”编辑

时间:2012-03-13 19:36:21

标签: ruby-on-rails railstutorial.org

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

错误

  

NilClass的未定义方法`model_name':Class

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

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

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

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

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

2 个答案:

答案 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