Ошибка с гемом nested_form: неверное количество аргументов (4 для 3) - PullRequest
6 голосов
/ 24 сентября 2011

Я боролся с этим уже несколько дней и не могу понять, что случилось.Я пытаюсь разрешить полиморфные вложения файлов для модели Item, которая принадлежит модели Location.Мои маршруты определены следующим образом:

resources :locations do
  resources :items
    post :sort
end

resources :items do
  resources :assets #model for attachments
end

Я следовал учебному пособию о том, как делать это с carrierwave и nested_form .Однако, после настройки всего, я получаю следующую ошибку при запросе действия New для модели Item: wrong number of arguments (4 for 3).Это говорит мне, что ошибка происходит в строке 7 этого представления:

<%= nested_form_for [@location, @item], :html => { :multipart => true } do |f| %>
  <p>
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </p>

  <%= f.fields_for :assets do |a_form|  %> ### LINE 7 ####
    <p>
      <%= a_form.label :file %><br />
      <%= a_form.file_field :file %>
      <%= a_form.hidden_field :file_cache %>
    </p>
    <%= a_form.link_to_remove "Remove this attachment" %>
  <% end %>

  <%= f.link_to_add "Add attachment", :assets %>
  <p><%= f.submit %></p>
 <% end %>

Если я не использую гем nested_form и запускаю представление с нормальным form_for, я не получаю ошибок, и явозможность успешно прикрепить один файл к Item.Я могу попытаться продолжить без драгоценного камня, но (насколько я понимаю) nested_form автоматизирует некоторые функции, такие как удаление файлов и создание ajax для добавления новых вложений.

Мне просто интересно, если кто-нибудь запустилв эту ошибку или знает, какую ошибку я делаю, что вызывает проблемы с nested_form?Я понимаю, что означает ошибка, но не знаю, где / почему добавлен дополнительный аргумент. Я очень ценю любую информацию, которую вы можете предоставить!

К вашему сведению, мои настройки dev: rails (3.1.0, 3.0.10), nested_form (0.1.1), несущая волна (0.5.7)

1 Ответ

15 голосов
/ 24 сентября 2011

Для того, чтобы nested_form работал с рельсами 3.1, мне нужно было извлечь последнюю версию из github, а не использовать то, что есть в геме. В моем Gemfile:

gem "nested_form", :git => "git://github.com/ryanb/nested_form.git"
...