Проблема с вложенной формой, "stringify_keys" - PullRequest
3 голосов
/ 21 декабря 2011

У меня были проблемы, когда я пытался интегрировать Вложенную форму в мое приложение 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} %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...