Я хочу создать полиморфные ассоциации со скрепкой и разрешить моему пользователю иметь один аватар и несколько изображений.
Приложение модель:
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 %>
при попытке сохранить изменения я получаю сообщение об ошибке => неизвестный атрибут: аватар
если я удаляю :class_name => 'attachment' в ассоциации has_one, я получаю сообщение об ошибке => неинициализированная константа User::Avatar
Мне нужно также прикреплять аватары к сообщениям в блоге, поэтому мне нужна полиморфная ассоциация (по крайней мере, я так думаю)
Я в тупике, и любая помощь будет принята с благодарностью.