2013-09-23 44 views
1

我更新我的應用程序導軌4我使用錯誤的參數數目(3 2)4

<%= form_for @application do |f|%> 
<%end-%> 

的表單標籤,但它總是給我

wrong number of arguments (3 for 2) 
+0

的可能重複的[自升級形式\ _for錯誤的參數數目(3 2),以軌道3.1](http://stackoverflow.com/questions/7523252/form-for-wrong-number-of-arguments-3-for-2-since-upgrade-to-rails-3-1) – karthikr

+0

感謝您的回覆。但這不適用於我:(。 我現在已經使用 <%= form_for @application,:as =>'application'do | f |%> 但同樣的錯誤 – nOmi

+1

@ user2752370你確定這是在哪錯誤信息是從哪裏來的?如果是這樣,爲什麼?請在報告錯誤時包含痕跡。您是否顯示完整源代碼? –

回答

1

的問題可能是這裏

<%end-%> 

因爲它應該是

<%end%> #no hyphen after the 'd' 

但是,我不確定爲什麼它會拋出錯誤,如果是這樣的話。 form_forend之間有什麼?

+3

連字符的意思是去掉空白,即使它不是,那也不會引起這個問題;這將是一個Ruby語法錯誤 –

+0

啊,我認爲,在'結束'像'<%-end%>' - 謝謝! – dax

2

我得到了同樣的錯誤,這是由於client_side_validation寶石。這個gem與rails中的form_for衝突4

+0

我不使用client_side_validations,但仍然收到此錯誤。 – sixty4bit

1

如果您使用Rails 4,則客戶端驗證已過期。你可以在這裏查看

http://railscasts.com/episodes/263-client-side-validations?view=comments

而且如果你去到GitHub的頁面

https://github.com/bcardarella/client_side_validations

你可以看到,它說,它不再保留。

或者你可以嘗試使用這個分支的CSV寶石,由該

 

gem 'client_side_validations', github: "bcardarella/client_side_validations", :branch => "4-0-beta" 
 

不知道,即使這會的工作,雖然替換你的Gemfile的CSV行。由於其過時。

或者你可以檢查此寶石了,

https://github.com/kalkov/rails4_client_side_validations

它只是一個修改客戶端驗證

的版本,而對於空白的東西。大聲笑。它可以在<%end%>標記的開頭或結尾使用。它僅適用於早期版本的Rails,因爲在Rails 3中它不再必要。如果erb標籤沒有輸出,它將自動被刪除,所以erb標籤沒有不必要的空白。

+0

我不使用client_side_validations,但仍然收到此錯誤 – sixty4bit

1

要使用simple_form成功安裝「客戶端驗證」,您應該檢查Github最新版本的最新版本以及最新的分支。

釋放的寶石不使用Rails工作> = 4.0

gem 'client_side_validations', github: 'DavyJonesLocker/client_side_validations' 
gem 'client_side_validations-simple_form', github: 'DavyJonesLocker/client_side_validations-simple_form' 

確保你的寶石文件不使用這些版本

client-side Validation 3.2.5 
client_side_validations-simple_form 2.1.0 

這些版本不支持軌4.2。0

更多細節請檢查此鏈接, https://github.com/DavyJonesLocker/client_side_validations-simple_form/issues/41

相關問題