2013-03-09 84 views
0

我的代碼非常簡單,但我無法弄清楚錯誤來自哪裏。我訪問本地主機:3000 /客戶/新我得到了錯誤wrong number of arguments (3 for 1)form_for ArgumentError - 參數數量錯誤(3代表1)

頂部的堆棧跟蹤

ArgumentError - wrong number of arguments (3 for 1): 
    (gem) actionpack-3.2.12/lib/action_view/helpers/form_helper.rb:378:in `form_for' 
    (gem) haml-3.1.8/lib/haml/helpers/action_view_mods.rb:183:in `form_for_with_haml' 
    (gem) haml-3.1.8/lib/haml/helpers/xss_mods.rb:132:in `form_for_with_haml_xss' 
    app/views/clients/new.html.haml:1:in `_app_views_clients_new_html_haml__386962141__622328728' 

/app/controllers/clients_controller.rb

class ClientsController < ApplicationController 
    def new 
    @client = Client.new 
    end 
end 

/app/models/client.rb

class Client < ActiveRecord::Base 
    attr_accessible :name 
end 

/app/views/clients/new.html.haml

= form_for @client, remote: true do |f| 
    = f.text_field :name 
    = f.submit 

如果我的form_for前檢查@client只有一條線路,我得到這個:

=> #<Client id: nil, name: nil, created_at: nil, updated_at: nil> 

任何幫助將不勝感激。謝謝

爲簡化代碼而編輯

+1

您運行的是哪個版本的ruby? – dorilla 2013-03-09 17:19:40

+0

ruby​​ 1.9.3p327(2012-11-10 revision 37606)[i686-linux] – Benj 2013-03-09 23:48:13

回答

0

好的,固定的。我發佈了答案,即使它可能對大多數人沒有用,但我希望它可以幫助一些

錯誤來自事實,我創建了一個函數名爲fields_for的幫助程序。將我的函數名改爲不同的東西可以解決問題。

如果有人能解釋雖:

爲什麼我的自定義fields_for這是我的嵌套模塊中優先ActionPack的的fields_for

而且爲什麼堆棧跟蹤停在線(gem) actionpack-3.2.12/lib/action_view/helpers/form_helper.rb:378而不是顯示我的fields_for聲明的行?

相關問題