Ich möchte polymorphe Assoziationen mit Büroklammer machen, und erlauben Sie meinem Benutzer, einen Avatar und mehrere Bilder zu haben.Schienen 3 polymorphe Assoziation mit Büroklammer und mehrere Modelle
Befestigung Modell:
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
Benutzermodell:
has_one :avatar, :as => :attachable, :class_name => 'Attachment', :conditions => {:type => 'avatar'}
accepts_nested_attributes_for :avatar
Benutzer Controller:
def edit
@user.build_avatar
end
Benutzeransicht Form:
<%= 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 %>
wenn ich versuche, um die Änderungen zu speichern ich den Fehler => unbekannt Attribut: Avatar
wenn ich entfernen: class_name => ‚Bindung‘ in der has_one Vereinigung ich den Fehler => nicht initialisierte Konstante Benutzer erhalten :: Avatar
ich muss auch Avatare anhängen Beiträge bloggen, also muss ich den Verein polymorph sein (oder zumindest denke ich so)
ich bin ratlos und jede mögliche Hilfe würde sehr geschätzt werden.
ahh, was ich brauchte, danke Brett! – kaigth
@kaigth, Entschuldigung, ich habe dir einen solchen Umweg gegeben. Ich hätte damit gerade anfangen sollen. Die besten Wünsche. – Brett
können die Styles für Anhänge im Artwork-Modell für Album und Song basierend auf polymorpher Beziehung unterschiedlich sein? – ramkumar