2011-10-10 3 views
1

Я на самом деле пытаюсь создать драгоценный камень кокона (по nathanvda) вместе с жемчугом simple_form, чтобы динамически добавлять и удалять поля в форме. Я не понимаю, почему вложенная форма не появляется на мои формы. Вот код. (Я новичок, конечно). Пожалуйста, могу мне помочь.Rails 3.1 драгоценный камень кокона для вложенных форм

меню/_form.html.erb

<% = simple_form_for @menu сделать | F | %>

 <%= f.input :name %> 
    <%= f.input :price %> 

    <%= f.simple_fields_for :drinks do |drink| %> 
     =render "drink_fields", :f => drink.links %> 
     <%= link_to_add_association "Add drink"%> 
    <%end%> 

    <%= f.button :submit %> 
     <%end%> 

меню/_drink_fields.html.erb

.nested полей <% = f.input: имя%> <% = link_to_remove_association "удалить напиток" , f%>

это модели

class Drinks < ActiveRecord::Base 
    belongs_to :menu 
end 

class Menu < ActiveRecord::Base 
    attr_accessible :drinks_attributes 

    has_many :drinks, :dependent => :destroy 

    accepts_nested_attributes_for :drinks 

end 

в активах/JavaScripts/application.js

//= require cocoon 

в макетах/application.html.erb

<%= javascript_include_tag :cocoon %> 

ответ

1

Ваш вложенная форма не так, вы смешивание haml и erb. Если у вас нет личных предпочтений, я бы рекомендовал использовать haml, я нахожу его намного проще и чище, чем erb.

Все это в стороне, ваш menu/_drink_fields.html.erb должны выглядеть следующим образом:

<div class='nested-fields'> 
    <%= f.input :name %> 
    <%= link_to_remove_association "remove drink", f %> 
</div> 

Кроме того, внутри ваш menu/_form.html.erb вы должны написать следующее:

<%= f.simple_fields_for :drinks do |drink| %> 
    <%= render "drink_fields", f: drink %> 
<% end %> 
<%= link_to_add_association "Add drink", f, :drinks %> 

Надеется, что это помогает.

+0

Я изменил код, но проблема осталась почти такой же в меню/_form.html.erb Я вижу ссылку «добавить напиток». Но когда я нажимаю, что-то происходит вообще. Я действительно не понимаю что не работает (ps: Я хочу решить проблему с html.erb, а не swiching to haml) – blawzoo

+0

Вы используете jquery? Можете ли вы проверить внутри вашей консоли браузера, какие ошибки javascript вы получаете? – nathanvda

+0

Я продолжу поиск, почему кокон не работает в моем проекте. Но на данный момент я просто хочу быть продуктивным и продвигаться по обучению рельсов. Спасибо за поддержку nathanvda. – blawzoo

0

Спасибо за голову ups nathanvda.I, наконец, найти драгоценный камень для обработки вложенных полей. Вот ссылка: https://github.com/lailsonbm/awesome_nested_fields.

+0

, который выглядит действительно потрясающе, хотя я не уверен, что они намерены сделать его совместимым с рельсами 4, и я хотел бы перенести приложение на рельсы 4 на некоторых время. Вы нашли что-нибудь, что хорошо работает и на рельсах 4? –

+1

Cocoon работает на рельсах 4 :) – nathanvda

Смежные вопросы