2011-11-22 12 views
7

To trzeci dzień, kiedy miażdżę na Active Admin.Czy można wykonywać głębokie zagnieżdżanie w aktywnym administratorze?

Mam @survey, że has_many :questions i każde pytanie has_many :answers - w rzeczywistości są to warianty, z których użytkownicy mogą wybierać.

Ale nadal nie mogę go zastosować, po prostu nie tworzy niczego głębiej niż 1 poziom: nawet formularz działa poprawnie, ale nic nie jest tworzone.

+0

Wklej kod w swoich modelach i aktywną implementację zasobu administracyjnego – JCorcuera

+1

Zobacz komentarz w tym wydaniu ActiveAdmin. Oraz inne problemy zawierające "zagnieżdżone". https://github.com/gregbell/active_admin/issues/478 I obejrzeć tutaj też: http://stackoverflow.com/questions/8224884/nested-form-in-active-admin – slothbear

+0

to także moje pytanie *))) – prikha

Odpowiedz

14

Mam następujące kursy :-> Sekcje-> Lekcje.

Zrobiłem następujące:

form do |f| 
    f.inputs "Details" do 
    f.input :instructor, :as => :select 
    f.input :title 
    f.input :name 
    f.input :price 
    f.input :discount 
    f.input :slug 
    f.inputs "Sections" do 
     f.has_many :sections, :header=>"" do |section| 
     section.input :name 
     section.input :position 
     if section.object.id 
      section.input :_destroy, :as=>:boolean, :required => false, :label=>'Remove' 
     end 

     section.has_many :lessons, :header=>"Lessons" do |lesson| 
      lesson.input :title 
      lesson.input :position 
      lesson.input :duration 
      lesson.input :_destroy, :as=>:boolean, :required => false, :label=>'Remove' 
     end 
     end 
    end 

    end 
    f.buttons 
end 

Moje modele są następujące:

class Course < ActiveRecord::Base 
    has_many :sections, :dependent => :delete_all 
    accepts_nested_attributes_for :sections, :allow_destroy => true 
    attr_accessible :sections_attributes 
.... 

class Section < ActiveRecord::Base 
    belongs_to :course 
    has_many :lessons, :dependent => :delete_all 
    attr_accessible :course_id, :name, :position 
    accepts_nested_attributes_for :lessons, :allow_destroy => true 
    attr_accessible :lessons_attributes 
.... 

class Lesson < ActiveRecord::Base 
    belongs_to :section 
    attr_accessible :duration, :position, :section_id, :title 
.... 

i działa świetnie! Nie wiem, co się stanie, jeśli przejdę o więcej poziomów głębiej.

+2

Nice! Już to rozwiązałem. Ale mam nadzieję, że to pomoże komuś innemu !!! – prikha

+1

@ Tony, jeśli używamy stowarzyszenia HABTM, to ??? Co musimy zrobić? –

+1

jakiejkolwiek aktualizacji dla szyn 4? Wygląda na to, że chronione atrybuty są teraz ustawione w kontrolerze. Musimy użyć 'permit_params'? – Defoncesko

Powiązane problemy