2009-10-02 109 views
2

我在index.erb.html文件中有表單。 (上傳控制器)。 當我打電話本地主機:3000 /上傳/錯誤appeares錯誤的參數數目(0 1)錯誤錯誤參數數量錯誤(0表示1)

<% form_for :picture, :html => { :multipart => true } do |form| %> 
<p> 
    <label for="picture_first_name">First name::</label> 
    <%= form.text_field :first_name, :size => 20 %> 
</p> 
<p> 
    <label for="picture_last_name">Last name:</label> 
    <%= form.text_field :last_name, :size => 20 %> 
</p> 
<p> 
    <label for="picture_city">City:</label> 
    <%= form.select :city, Picture::CITIES, {}, :onchange => remote_function(:url => {:action => "update_universities"}, :with => "'picture[city]='+value") %> 
</p> 
<p> 
    <%= render :partial => 'universities' %> 
</p> 
<p> 
    <label for="picture_picture">Photo::</label> 
    <%= form.file_field :picture, :size => 20 %> 
</p> 
<%= submit_tag "Upload" %> 
<% end %> 

所以,我有一個渲染功能,因爲我使用AJAX來更新第二選擇字段。

<label for="picture_university">University:</label> 
    <%= form.select :university, [] %> 

我的應用有什麼問題?請幫我解決這個問題!

引發ArgumentError在上傳#索引

顯示 應用/視圖/上傳/其中線#2提出_universities.html.erb :

錯誤的參數數目(0 1)

提取的源(圍繞線#2):

1:大學: 2:<%= form.select:UNIVER增寬,[]%>

模板包含的跟蹤: 應用程序/視圖/上傳/ index.html.erb

RAILS_ROOT:/家庭/ user_admin/MYAPP 應用程序跟蹤|框架跟蹤| 完整曲線

/home/user_admin/myapp/app/views/upload/_universities.html.erb:2:in form' /home/user_admin/myapp/app/views/upload/_universities.html.erb:2:in _run_erb_app47views47upload47_universities46html46erb_locals_object_universities' /home/user_admin/myapp/app/views/upload/index.html .erb:15:在 _run_erb_app47views47upload47index46html46erb' /home/user_admin/myapp/app/views/upload/index.html.erb:1:in _run_erb_app47views47upload47index46html46erb」

+1

據我所知,變量'form'在您的「大學」視圖中是未知的,但這會導致另一個錯誤。 您應該提供完整的錯誤跟蹤以獲取更多詳細信息。 – Koraktor 2009-10-02 11:39:31

+0

Koraktor,請幫忙。 我剛剛添加了完整的錯誤跟蹤。 – Anton 2009-10-02 12:35:15

回答

2

您需要通過傳遞form變量的部分,所以:

<%= render :partial => 'universities', :locals => {:form => form } %> 

這應該使表單對象可用於您的部分。

+0

Lolindrath,非常感謝你!我現在很高興。 但我仍然不明白爲什麼我需要這樣做。我看到RAILS框架非常有針對性和困難。 – Anton 2009-10-02 12:45:09

+1

發生這種情況的原因是因爲您正在進入不同的ruby文件,這會改變您的變量範圍。 有幾個古怪的事情你必須在Rails中處理,但通常Rails讓你發展的剪切速度是驚人的。 – Lolindrath 2009-10-02 13:10:15

相關問題