我有一个图库模型和一个图像模型,其中一个图库有_and_belongs_to_many图像。
现在,通过图像表单上传新图像,并使用复选框从图库表单中选择图库的图像。我想保留现有图像的现有复选框选择方法,但也能够从图库窗体中上传新图像(同时创建新图像和图库之间的关联)。
这是我的图库形式:
<%= 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完全不熟悉,所以我可能会遗漏一些明显的东西。如果有帮助,我很乐意提供更多背景信息。
感谢您提供任何帮助!
答案 0 :(得分:1)
假设你设置了accepts_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 %>