Activeadmin:销毁/添加has_many关系内容

时间:2013-02-25 20:24:48

标签: ruby-on-rails controller activeadmin

我有两个关系模型(echanges和echange_answers):

  

的has_many   /   belongs_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

以下是我在主动管理员中获得的内容: 所有“交换”的清单

List of echanges

以下是其中一个交换的节目。我在页面上打印与此echange属于belongs_to关系的所有echange_answer。 Show page of a echange

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

1 个答案:

答案 0 :(得分:2)

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

  actions :only => [:create, :edit, :destroy]