Ruby on rails ActiveAdmin:X有_和_属于_很多Y,想从X的表单中创建一个新的Y吗

Ruby on rails ActiveAdmin:X有_和_属于_很多Y,想从X的表单中创建一个新的Y吗,ruby-on-rails,ruby-on-rails-3.1,activeadmin,Ruby On Rails,Ruby On Rails 3.1,Activeadmin,我有一个图库模型和一个图像模型,其中一个图库有很多图像 现在,通过图像表单上传新图像,并使用复选框从库表单中选择库的图像。我希望保留现有图像的现有复选框选择方法,但也能够从gallery表单中上载新图像(同时创建新图像和gallery之间的关联) 这是我的画廊表格: <%= semantic_form_for [:admin, @gallery] do |g| %> <%= g.inputs "Details" do %> <%= g.input :ti

我有一个图库模型和一个图像模型,其中一个图库有很多图像

现在,通过图像表单上传新图像,并使用复选框从库表单中选择库的图像。我希望保留现有图像的现有复选框选择方法,但也能够从gallery表单中上载新图像(同时创建新图像和gallery之间的关联)

这是我的画廊表格:

<%= 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 %>

:复选框,:label_method=>Proc.new{| image | image_标记(image.thumb_路径,:alt=>“”)+content_标记(“h3”,image.title)}%>
:文件%>
浏览表单时,我看到以下错误:

undefined method `has_many' for #<Formtastic::SemanticFormBuilder:0xb410d4c>
未定义的方法'has_many'用于#
我仍然在学习Rails,而且我对ActiveAdmin是全新的,所以我可能在这里遗漏了一些明显的东西。如果有帮助的话,我很乐意提供更多的上下文


感谢您提供的任何帮助

假设已设置接受嵌套属性

首先创建一个空白图像
@gallery.images.build
然后为新图像构建输入字段

<% g.inputs :for => :images do |image| %>
  <% if image.new_record? %>
        <%= image.input :title %>
        <%= image.input :asset, :as => :file %>
  <% end %>
<% end %>
:图像做|图像|%>
:文件%>

很抱歉删除我的答案接受,但这似乎只是为每个已经存在的图库图像添加了一个文件上载。。。看,这是一个稍微不同的问题。如果要为新图像添加文件上载,应在创建表单
@gallery.images.build
之前构建一个空白图像对象。如果你想添加多个图像,你需要一些jquery和一个“多添加一个”按钮。。。