2012-03-19 70 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 

對不起我的英語。來自巴西的最好的問候

相關問題