【问题标题】:Activeadmin form - RailsActiveadmin 表单 - Rails
【发布时间】:2011-11-22 02:34:26
【问题描述】:

如何在 activeadmin 中制作此表单?

<%= form_for(@album, :html => {:multipart => true}) do |f| %>
.....

<div class="field">
<%= f.label :apellido %><br />
<%= f.text_field :apellido %>
</div>

<div class="field">
    <p>Hijos</p>
    <%= f.fields_for :hijos do |builder| %><br /><br />
    <%= builder.label :nombre, 'Nombre Hijo' %><br />
    <%= builder.text_field :nombre %><br />
    <%= builder.label :apodo, 'Apodo Hijo' %><br />
    <%= builder.text_field :apodo %><br />
    <%= builder.label :hijo_id, 'favorito' %>
    **<%= f.radio_button :hijo_id, builder.object.id %>**
    <% end %>
</div>

我需要将hijo_id 的选项放在:hijos 的for 中

尝试:

 f.input :avatar_item_id, :as => :boolean, :value =>  app_f.object.id 

但不起作用。

谢谢

【问题讨论】:

  • 您为 Album 和 Hijo 模型建立了哪些关系?
  • 专辑 = Padre Album ->> nombre, apellido, hijo_id Hijo ->> nombre, apodo

标签: ruby-on-rails forms activeadmin


【解决方案1】:

一旦您将相册模型注册为 ActiveAdmin 资源,这应该可以工作:

  form :html => {:multipart => true} do |f|
    f.inputs "Principal" do
      f.input :apellido
    end

    f.inputs "Hijos" do
      f.has_many :hijos do |h|
        h.input :nombre
        h.input :apodo
        h.input :favorito, :as => :check_box
      end
    end
    f.buttons
    end

如果要将child 标记为收藏,则需要hijos 表中的布尔值favorito 字段,而不是hijo_id 字段。

【讨论】:

  • 如果父表有收藏夹,我希望父表保存收藏夹子 (hijo),只需要查询。如果子表保存收藏夹需要其他查询以了解谁是收藏夹,并且需要进行更多验证以不保存子表中的重复收藏夹 问候
  • 在这种情况下,hijo_id 必须在嵌套表单之外,而不是在里面。 hijo_id 必须保存在父表中
  • 'favorite' 字段是 Fhater 模型的一部分,但需要像这样收集 Item 的值。 (在前面的表格中有效,但在管理员中无效) f.input :favorito, :value => h.object.id
猜你喜欢
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多