2012-03-19 69 views
0

我有这样的错误:未定义的方法`[]”为零:NilClass

undefined method `[]' for nil:NilClass 

提取的源(约行#16):

13: <% end %> 
14: 
15: <% create_url = {:url=>{:action=>"create"}} if @post.new_record? %> 
16:   <% form_for @post, create_url do |t| %> 
17:   <%= t.label :title, 'Virsraksts:' %><br /> 
18:   <%= t.text_field :title %><br /> 
19:   <%= t.label :content, 'Teksts:' %><br /> 

我新在Ruby on Rails的,所以, 请帮帮我。

当我按下发布的编辑按钮时会发生此错误。

+0

form_for希望第二个参数是散列,请按照c0deNinja的建议来尝试。 http://apidock.com/rails/ActionView/Helpers/FormHelper/form_for – 2012-03-19 18:56:06

回答

1

尝试这样的事:

<% form_for([:post, @post], :url => create_url) do |t| %> 
+0

我已将您的代码修改为: <%form_for(@post,:url => create_url)do | t | %> 现在一切正常,非常感谢你! – RydelHouse 2012-03-19 19:43:15

1

我通过类似的问题去了。但在我的情况下,我使用generate脚本创建了消息模型。这使得模型从ActiveModel继承。我认为持续的?方法返回false与ActiveModel继承结合导致了问题。 然后,我就让我的经验在这里为别人的情况下,通过这个

去尝试替换此:

class Message < ActiveRecord::Base 

本:

class Message 

对不起我的英语。来自巴西的最好的问候

相关问题