3

这是我在这里的第一篇文章,所以请多多包涵。我正在尝试将 nested_form gem 合并到我的 Rails 应用程序中。我有一个带有许多 BadgeElements 的 Badge 模型。我希望能够动态添加和删除 BadgeElements,但我无法让 gem 正常工作。我不知道这是我的设置还是我如何调用它。(我已经在 StackOverflow 和 Google 上寻找答案,但没有任何帮助。)我在我的 Gemfile 中安装了“nested_form”gem(0.3.2),在我的应用程序中添加了“//= require jquery_nested_form”行.js,并将我的“form_for”更改为“nested_form_for”,但添加和删除的链接不起作用。当我点击它们时,我会收到一条“javascript:void(0)”消息。有人可以告诉我我做错了什么吗?

以下是相关代码位供参考:

徽章.rb:

class Badge < ActiveRecord::Base
  has_one :background, :dependent => :destroy
  has_many :badge_elements, :dependent => :destroy
  accepts_nested_attributes_for :background
  accepts_nested_attributes_for :badge_elements, :allow_destroy => true
  validates :title, presence: true, length:{minimum: 3}
end

_form.html.haml:

= nested_form_for @badge, html:{class:"form-horizontal edit_badge", data:{id:@badge.id}} do |f| 
 %table{class: "table"}
   %tbody
     .form-group
       = render partial: "badge_elements/form", locals: {f:f}
       = f.link_to_add "Add an element", :badge_elements

徽章元素/_form.html.haml:

= f.fields_for :badge_elements do |j|
  %tr
    %td
    %td= j.label :side
    %td= j.text_field :side, id: "badge_element_#{j.object.id}_side"
  ...
  ...
  %tr
    %td
    %td= j.link_to_remove "remove element"

我正在运行 Rails 4。感谢任何帮助。提前致谢!

4

0 回答 0