Ошибка неверного количества аргументов (0 для 1) - PullRequest
2 голосов
/ 02 октября 2009

У меня есть форма в файле index.erb.html. (загрузить контроллер). Когда я вызываю localhost: 3000 / upload / появляется неправильное количество аргументов (0 для 1) error

    <% 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 в Upload # index

Показываются приложение / просмотров / загрузки / _universities.html.erb где строка № 2 поднята:

неверное количество аргументов (0 для 1)

Извлеченный источник (вокруг строки № 2):

1: Университет: 2: <% = form.select: университет, []%>

След включения шаблона: приложение / просмотров / загрузки / index.html.erb

RAILS_ROOT: / home / user_admin / myapp Трассировка приложений | Framework Trace | Полная трассировка

/ дома / user_admin / MyApp / приложение / просмотров / загрузки / _universities.html.erb: 2: в 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 '

1 Ответ

2 голосов
/ 02 октября 2009

Вам нужно передать переменную form в вашу частичку, так что:

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

это должно сделать объект формы доступным для вашей части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...