Я боролся с этим уже несколько дней и не могу понять, что случилось.Я пытаюсь разрешить полиморфные вложения файлов для модели 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)