2012-10-27 18 views
10

Aşağıdaki modelleri var düşünün: Bu ActiveAdmin içinde yaparsanızActiveAdmin ile ilgili verileri oluşturmanın/seçmenin daha kolay bir yolu var mı?

class Translation < ActiveRecord::Base 
    has_many :localizations 
end 

class Localization < ActiveRecord::Base 
    belongs_to :translation 
end 

:

ActiveAdmin.register Localization do 
    form do |f| 
    f.input :word 
    f.input :content 
    end 
end 

kelime için dernek sadece bana mevcut kelimelerin arasından seçim sağlayacaktır. Ancak, anında yeni bir kelime oluşturma seçeneğine sahip olmak isterim. Yerelleştirme modelinde iç içe özniteliklerin kabul edilmesinin yararlı olabileceğini düşündüm (ancak o zaman, yalnızca bir Word yaratma seçeneğim var, varolanlardan seçmeme gerek yok). Bu sorunu nasıl çözebilirim?

+0

hakkında raylar döküm nedir? –

+0

Bir menüden seçebilmeli veya yeni bir çeviri ve yeni bir yerelleştirme oluşturmalıyım (hepsi bir kerede) – Geo

cevap

10

Sana (test) bu

Örnek

class Localization < ActiveRecord::Base 
    attr_accessor :new_word #virtual attribute 
    attr_accessible :word_id, :content, :new_word 
    belongs_to :translation 
    before_save do 
    unless @new_word.blank? 
     self.word = Word.create({:name => @new_word}) 
    end 
    end 
end 

ana fikri yaratmak ve yerelleştirme kaydetmeden önce yeni bir Word örneği saklamak ve word_id yerine onu kullanmaktır için sanal özelliğini kullanmayı deneyebilirsiniz düşünüyorum aşağı açılır. Bir menüsünden seçerek veya params (url geçti) saklanan -

ActiveAdmin.register Localization do 
    form do |f| 
    f.input :word 
    f.input :content 
    f.input :new_word, :as => :string 

    end 
end 

Orada büyük bir sanal nitelikler geçerli Tercüme olduğunu belirlemek istiyorum nasıl ActiveAdmin olarak http://railscasts.com/episodes/167-more-on-virtual-attributes

İlgili konular