2

Gallery モデルと Images モデルがあり、Gallery has_and_belongs_to_many Images があります。

現在、新しい画像は画像フォームを介してアップロードされ、ギャラリーの画像はチェックボックスを使用してギャラリー フォームから選択されます。既存の画像の既存のチェックボックス選択方法を維持したいのですが、ギャラリー フォーム内から新しい画像をアップロードすることもできます (同時に、新しい画像とギャラリーの間の関連付けを作成します)。

これが私のギャラリーフォームです:

<%= semantic_form_for [:admin, @gallery] do |g| %>
  <%= g.inputs "Details" do %>
    <%= g.input :title %>
    <%= g.input :images, :as => :check_boxes, :label_method => Proc.new { |image| image_tag(image.thumb_path, :alt => "") + content_tag("h3", image.title)  } %>
  <% end %>
  <%= g.inputs "Images" do %>
    <% g.has_many :images do |i| %>
      <%= i.input :title %>
      <%= i.input :asset, :as => :file %>
    <% end %>
  <% end %>
  <%= g.buttons %>
<% end %>

フォームを参照すると、次のエラーが表示されます。

undefined method `has_many' for #<Formtastic::SemanticFormBuilder:0xb410d4c>

私はまだ Rails を学んでおり、ActiveAdmin はまったく初めてなので、ここで明らかな何かが欠けている可能性があります。それが役立つ場合は、より多くのコンテキストを提供できれば幸いです。

ご協力ありがとうございます。

4

1 に答える 1

1

accept_nested_attributes が設定されていると仮定すると...

最初に空白の画像を作成し、 @gallery.images.build 次に新しい画像の入力フィールドを作成します

<% g.inputs :for => :images do |image| %>
  <% if image.new_record? %>
        <%= image.input :title %>
        <%= image.input :asset, :as => :file %>
  <% end %>
<% end %>
于 2011-10-12T20:19:30.437 に答える