0

我在关系中有这 2 个模型(echanges 和 echange_answers):

has_many / 属于_to

#Model Echange
class Echange < ActiveRecord::Base
  attr_accessible :content, :title
  validates_presence_of :title, :content, :section_id
  validates :section_id, numericality: { only_integer: true }
  validates :title, length: { :minimum => 3 }
  validates :content, length: { :minimum => 3 }

  belongs_to :section
  belongs_to :user
  has_many :echange_answers
end

#Model EchangeAnswer
class EchangeAnswer < ActiveRecord::Base
  attr_accessible :content

  validates_presence_of :content
  validates :content, length: { :minimum => 3 }

  belongs_to :user
  belongs_to :echange
end

这是我在活动管理员中得到的:所有“echanges”的列表

换货清单

这是其中一个 echange 的展示。我在页面上打印与此 echange 有belongs_to 关系的所有echange_answer。 显示交换页面

我想对该表中的每个 echange_answer 设置一个删除/编辑操作,并且管理员可以添加一个新的 echange_answer。我想知道最好的方法是否不是创建新的 active_admin:resource 并删除“索引”页面或在 activeadmin 中自定义 echange 页面。如果自定义是最好的方法,我该怎么做?

4

1 回答 1

2

由于您已经拥有 ActiveAdmin,我将通过为 echange_answer 创建资源并让 ActiveAdmin 为您处理所有视图和操作来使用它。在您的 ActiveAdmin echange_answers 控制器中,只需确保您有下面的行,然后您就不必担心有任何不必要的控制器操作。

  actions :only => [:create, :edit, :destroy]   
于 2013-02-25T23:53:33.087 回答