Voglio creare associazioni polimorfiche con graffetta e consentire al mio utente di avere un avatar e più immagini.rotaie 3 associazione polimorfica con graffetta e più modelli
Allegato modello:
class Attachment < ActiveRecord::Base
belongs_to :attachable, :polymorphic => true
end
class Avatar < Attachment
has_attached_file :image, :styles => { :thumb => "150x150>", :view => "260x180>" },
end
class Image < Attachment
has_attached_file :image, :styles => { :thumb => "150x150>", :view => "260x180>" },
end
Modello utente:
has_one :avatar, :as => :attachable, :class_name => 'Attachment', :conditions => {:type => 'avatar'}
accepts_nested_attributes_for :avatar
dell'utente del controller:
def edit
@user.build_avatar
end
utente Visualizza modulo:
<%= form_for @user, :html => { :multipart => true } do |f| %>
<%= f.fields_for :avatar do |asset| %>
<% if asset.object.new_record? %>
<%= asset.file_field :image %>
<% end %>
<% end %>
quando tento di salvare le modifiche ottengo l'errore => sconosciuto attributo: avatar
se mi tolgo la: class_name => 'attaccamento' nell'associazione has_one ottengo l'errore => inizializzata costante utente :: Avatar
ho bisogno di collegare anche gli avatar di post del blog, quindi ho bisogno l'associazione di essere polimorfico (o almeno penso così)
sono perplesso e qualsiasi aiuto sarebbe molto apprezzato.
ahh proprio quello di cui avevo bisogno, grazie Brett! – kaigth
@kaigth, scusami, ti ho dato una tale soluzione. Avrei dovuto iniziare con questo. Auguri. – Brett
Gli stili per gli allegati nel modello Artwork possono essere diversi per Album e song in base alla relazione polimorfica? – ramkumar