我想与回形针做多态关联,并允许我的用户有一个化身和多个图像。rails 3与回形针和多个模型的多态关联
附件模型:
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
用户模型:
has_one :avatar, :as => :attachable, :class_name => 'Attachment', :conditions => {:type => 'avatar'}
accepts_nested_attributes_for :avatar
用户控制器:
def edit
@user.build_avatar
end
用户视图形式:
<%= 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 %>
当我尝试保存更改出现错误=>未知属性:化身
如果删除:在HAS_ONE关联我得到错误=> 未初始化的常数用户CLASS_NAME>“附着” ::头像
我还需要附加的化身,以博客,所以我需要联想到是多态的(或至少我这么认为)
我难倒任何帮助,将不胜感激。
啊,就是我所需要的,谢谢Brett! – kaigth
@kaigth,对不起,我给了你这样一个绕圈。我应该刚刚开始。最好的祝愿。 – Brett
基于多态关系,艺术品模型中附件的样式可以不同于专辑和歌曲吗? – ramkumar