2013-02-25 4 views
0

У меня есть эти 2 модели (Echanges и echange_answers) в отношении:Activeadmin: уничтожить/добавить контент has_many отношения

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 

И вот что я получил в активе ве администратора: Список всех «Echanges» сделал

List of echanges

А вот шоу одного из Echange. Я печатаю на странице все echange_answer, которые находятся в отношении role_to с этим echange. Show page of a echange

Я хотел бы установить действие delete/edit для каждого echange_answer в этой таблице и возможность для администратора добавить новый echange_answer. Мне интересно, лучший ли способ создать новый ресурс active_admin: и удалить страницу «index» или настроить страницу обмена в activeadmin. Если обычай - лучший способ, как я могу это сделать?

ответ

2

Поскольку у вас уже есть ActiveAdmin, я бы использовал его, создав ресурс для echange_answer и позволяя ActiveAdmin обрабатывать все виды и действия для вас. В контроллере ActiveAdmin echange_answers просто убедитесь, что у вас есть строка ниже, и вам не нужно беспокоиться о том, что у вас есть лишние действия контроллера.

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

Thx, вот что мне нужно знать! – C404