我在index.erb.html文件中有表单。 (上传控制器)。 当我调用localhost:3000 / upload /时出现错误的参数数量(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, [] %>
我的应用有什么问题?请帮我解决这个问题!
上传#index
中的ArgumentError显示 应用程序/视图/上传/ _universities.html.erb 第2行引出的地方:
错误的参数数量(0表示1)
提取的来源(第2行):
1:大学: 2:&lt;%= form.select:university,[]%&gt;
模板包含的痕迹: 应用程序/视图/上传/ index.html.erb
RAILS_ROOT:/ home / 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:in_run_erb_app47views47upload47index46html46erb' /home/user_admin/myapp/app/views/upload/index.html.erb:1:in
_ run_erb_app47views47upload47index46html46erb'
答案 0 :(得分:2)
您需要将form
变量传递给您的部分,所以:
<%= render :partial => 'universities', :locals => {:form => form } %>
这应该使表单对象可用于部分。