У меня были проблемы, когда я пытался интегрировать Вложенную форму в мое приложение rails (rails 3.1.3, ruby 1.9.2)
Сначала добавьте вложенную форму в мой gemfile
gem "nested_form", :git => 'git://github.com/ryanb/nested_form.git'
Затем я запустил bundle install и затем rails g nested_form: install , пока все было хорошо.
Я перешел к следующему шагу, добавив nested_form к javascript_include_tag
#views/layouts/application.html.erb
javascript_include_tag "application", "nested_form"
Все еще в порядке, я проверил HTML-элемент и увидел, что nested_form.js был включен,Затем я попытался изменить свою форму
#views/supplier/new.html.erb
<%= nested_form_for @supplier do |f| %>
<%= f.text_field :name %>
<% render "supplier_products", :f => f %>
<%= f.submit %>
<% end %>
#views/supplier/_supplier_products.html.erb
<%= f.fields_for :supplier_products do |supplier_product_form| %>
<%= supplier_product_form.text_area :description %>
<%= supplier_product_form.link_to_remove "Remove this product", supplier_product_form %>
<% end %>
<%= f.link_to_add "Add a product", :supplier_products %>
#controller/supplier.rb
has_many :supplier_products
accepts_nested_attributes_for :supplier_products, :allow_destroy => true
#controller/supplier_product.rb
belongs_to :supplier
Но затем, когда я пытался перейти на страницу создания поставщика, я получил следующую ошибку
undefined method `stringify_keys' for "javascript:void(0)":String
Я попытался просмотреть свой кодснова и снова, но я не мог видеть проблему.Я прочитал много сайтов, статей и включая темы из SOF, ни одно из их решений не может это исправить (перезапустить сервер, переустановить gem, переключить версию ruby и т. Д.)
Итак, я понятия не имею, как исправитьэтот.Парень, мне нужен совет.Пожалуйста:)
Наконец
Проблема была решена путем исправления следующей строки от
<% render "supplier_products", :f => f %>
до
<% render "supplier_products", :locals => {:f => f} %>