【问题标题】:Activeadmin has_many form for show and edit onlyActiveadmin has_many 表单仅用于显示和编辑
【发布时间】:2013-08-25 17:02:59
【问题描述】:

首先请注意,我正在使用 rails 4 和 activeadmin rails 4 分支。 https://github.com/gregbell/active_admin/tree/rails4

我有两个多态模型图片

class Picture < ActiveRecord::Base
 belongs_to :picture_category
 belongs_to :imageable, polymorphic: true

 mount_uploader :image, ImageUploader
end

然后发货

class Ship < ActiveRecord::Base
  has_many :pictures, as: :imageable
  accepts_nested_attributes_for :pictures
end

还有activeadmin ship.rb

ActiveAdmin.register Ship do

   form do |f|
      f.inputs do
      f.inputs
        f.has_many :pictures, :sortable => :picture_categories do |ff|
          ff.input :name
        end
      end
   f.actions
   end

 controller do
   def permitted_params
     params.permit(:ship => [:name, :title, :short_desc, :description, :position, :pictures, :enabled, :ship_provider_id, :picture_category_id, :picture_id])
   end
 end
end

但结果是这样的:

  1. 如何摆脱删除按钮并提交
  2. 我如何才能仅在显示和编辑表单上显示此表单,因为在父母之前生孩子是没有意义的

请指出代码中的错误。

【问题讨论】:

  • 我刚刚注意到这一行也应该有 f.actions 但仍然没有提交表单 f.has_many :pictures, :sortable => :picture_categories do |ff| ff.input :name 结束

标签: ruby-on-rails-4 activeadmin polymorphism


【解决方案1】:

我知道如何解决第一个问题/ 您需要为嵌套资源输入插入 :submit 操作按钮。示例:

form do |ship|
  ship.inputs t(:ship_details) do
    ship.input :name, :label => t(:name)
    ship.input :description, :label => t(:description)
    ship.has_many :pictures do |picture|
      picture.input :url
      picture.input :imgdescription
      picture.actions do
        picture.action :submit
      end
    end
  end
end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多