2

私はactiveadmin(0.3.2)とnested_form(0.2.3)を使用しています。

私のモデルは次のとおりです。

class Event < ActiveRecord::Base
has_many :event_translations
attr_accessible    :event_translations_attributes
accepts_nested_attributes_for :event_translations, :allow_destroy => true,
                            :reject_if => proc { |attributes|
                              attributes['title'].blank? and
                                  attributes['description'].blank? and attributes['language_id'].blank?
end


EventTranslation < ActiveRecord::Base
belongs_to :event
belongs_to :language
attr_accessible :description, :title, :event_id, :language_id
end

class Language < ActiveRecord::Base
attr_accessible :iso, :name
end

私の active_admin イベント コントローラーでは、フォームは部分的にレンダリングされます。

form :partial => "form"

私の見解では、views/admin/events/_form.html.erb の下に次のものがあります。

<%= semantic_nested_form_for [:admin, @event] do |f|%>
<% f.object.event_translations.build %>
<%= f.semantic_fields_for :event_translations do |h| %>
<%=h.inputs "Translations" do %>
    <%= h.input :language, :required => true, :as => :select, :prompt => "Select a Language", :collection => Language.all %>
    <%= h.input :title, :label => "Name"%>
    <%= h.input :description %>
    <%= h.link_to_remove "Remove Translation" %>
<% end %>
<% end %>

<%= f.link_to_add "Add Translation", :event_translations %>
...
<% end %>

これはフィールドをうまくレンダリングしていますが、link_to_add と link_to_remove はクリックしても何もしません。//= jquery_nested_form が application.js に追加され、nested_form gem が gemfile に正しく含まれている必要があります。

ありがとう!

4

1 に答える 1

4

解決しました!

これに何時間も費やした後、私は今自分が嫌いです...

解決策は追加することでした

//= require jquery_nested_form 

active_admin.jsの代わりにの下部にありapplication.jsます。

于 2012-11-15T03:52:25.480 に答える