0

我正在尝试使用 rails 3 创建一个 WIKI 页面。我正在关注http://garrickvanburen.com/archive/how-to-build-a-wiki-with-ruby-on-rails-part-1/的教程

我相信他的教程在 rails 2 中,所以我不得不改变编码。我在第 6 节,并在 app/views/revisions/new.html.erb 中输入了编码。一旦我在 localhost/revisions/new 中加载服务器,我得到以下错误 -

RevisionsController 中的 NoMethodError#new

nil:NilClass 的未定义方法“[]”

Rails.root:/home/whitey7/wiki 应用程序跟踪 | 框架跟踪 | 全跟踪

app/controllers/revisions_controller.rb:30:in `new'

当我拉起 revisions_controller 文件并查看第 30 行时,根据教程中的内容,它似乎正确或正确。其他一切似乎都很好,但这个。我似乎找不到答案或如何解决这个问题。任何帮助或一些指导将不胜感激。代码在 revisions_controller 文件中列出的代码下方。谢谢大家!!

  # GET /revisions/new
  # GET /revisions/new.json


def new
    @revision = Revision.new

    @revision.update_attribute('person_id', 
      Person.find_or_create_by_name(params[:person][:name]).id) **#Inputed from Tutorial.**

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @revision }
    end
  end
4

1 回答 1

1

params[:person] 未设置。如果您只是想避免这种情况下的错误,请更改为:

unless params[:person].nil?
  @revision.update_attribute('person_id', 
    Person.find_or_create_by_name(params[:person][:name]).id)
end
于 2012-08-12T01:42:18.280 回答