tutorial table_for rails image_tag arbre active ruby-on-rails ruby-on-rails-3.1 activeadmin

ruby on rails - table_for - ActiveAdmin se forma con has_many-¿Pertenece a relaciones?



activeadmin wiki (4)

Tengo los modelos Home y Photo, que tienen una relación has_many - corresponde_ a (una relación polimórfica, pero creo que eso no importa en este caso) Ahora estoy configurando un administrador activo y me gustaría que los administradores puedan agregar fotos a las casas desde el formulario de casas.

Las fotos son administradas por la gema CarrierWave, que no sé si hará que el problema sea más fácil o más difícil.

¿Cómo puedo incluir campos de formulario para un modelo diferente en el formulario Inicio de Administración Activa? ¿Alguna experiencia haciendo algo como esto?

class Home < ActiveRecord::Base validates :name, :presence => true, :length => { :maximum => 100 } validates :description, :presence => true has_many :photos, :as => :photographable end class Photo < ActiveRecord::Base belongs_to :photographable, :polymorphic => true mount_uploader :image, ImageUploader end


Podrías probar esto:

form do |f| f.semantic_errors # shows errors on :base f.inputs # builds an input field for every attribute f.inputs ''Photos'' do f.has_many :photos, new_record: false do |p| p.input :field_name # or maybe even p.input :id, label: ''Photo Name'', as: :select, collection: Photo.all end end f.actions # adds the ''Submit'' and ''Cancel'' buttons end

Además, puede consultar https://github.com/activeadmin/activeadmin/blob/master/docs/5-forms.md (ver Recursos anidados )




Tengo un modelo has_one, como este:

f.has_many :addresses do |a| a.inputs "Address" do a.input :street ... etc.

Si bien esto refleja correctamente nuestras asociaciones para la Address (que es un modelo polimórfico) con f.has_one falla. Así que cambié a has_many y todo está bien. Excepto que ahora tenemos que evitar que nuestros usuarios creen varias direcciones para la misma entidad.