1

我将我的 photo.rb 模型更改为多态并且可用于需要保存图像的各种其他模型,并且它工作正常,除了我无法弄清楚如何通过父模型正确保存新附件。有任何想法吗?我是否必须以不同的方式处理这个问题?因为,它也没有得到 imageable_type ......我必须添加。

我看到了看起来像野兽并使用另一个表的多态回形针插件?所以我希望有更好的解决方法。

我越来越:

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"}

松饼.rb

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

照片.rb

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

1 回答 1

4

我有了使用 Accepts_nested_attributes_for 的想法,因为如果它不是多态关联,而是我正在向另一个模型抛出属性,我可能会这样做......瞧,它奏效了。

  has_many :photos, :as => :imageable, :dependent => :destroy
  accepts_nested_attributes_for :photos
于 2010-02-18T13:54:45.877 回答