1

Я поменял мою модель photo.rb на полиморфную и применил всевозможные другие модели, которым нужно сохранять изображения, и это отлично работает, но я не могу понять, как правильно сохранить новые вложения через родительской модели. Есть идеи? Нужно ли мне так или иначе подходить к этому? Как и его также не получить imageable_type ... который я должен будет добавить.Полиморфная ассоциация paperclip и экономия

Я видел полиморфный плагин скрепки, который похож на зверя и использует еще один стол? Поэтому я надеюсь на лучшую работу.

Я получаю:

ActiveRecord::AssociationTypeMismatch (Photo(#2189565500) expected, got Array(#2148226700)) 

Parameters: {"commit"=>"Create", "action"=>"update", "_method"=>"put", "authenticity_token"=>"kp7NeMs7moGwu0AZMXVowUpphp9vzitdZZ6t8YO7RKQ=", "id"=>"2586", "muffin"=>{"photos"=>{"data"=>#<File:/var/folders/4d/4dqp9CQQEbmM1akqbtLxzk+++TI/-Tmp-/RackMultipart20100218-11622-onqem2-0>}}, "controller"=>"muffins"} 

muffin.rb

has_many :photos, :as => :imageable, :dependent => :destroy 

photo.rb

belongs_to :imageable, :polymorphic => true 
has_attached_file :data, 
    :storage => 's3', 
    :s3_credentials..... 

ответ

4

Я пришла в голову идея использовать accepts_nested_attributes_for, так это то, что я мог бы сделать, если это была не полиморфная ассоциация, а другая модель, в которой я бросала атрибуты ... и вуаля, она работала.

has_many :photos, :as => :imageable, :dependent => :destroy 
    accepts_nested_attributes_for :photos