所以,我跟着this tutorial但是将@article与current_user或(我的用户模型)交换,并且:附件:照片或我的照片模型。
我会说哪一点可能会有所帮助,我不确定他为什么引用可附加物?他不应该引用文章吗?或者在我的情况下用户?
我收到了这个错误:
PG::UndefinedColumn: ERROR: column photos.attachable_type does not exist
LINE 1: ..."photos" WHERE "photos"."attachable_id" = $1 AND "photos"."...
^
: SELECT "photos".* FROM "photos" WHERE "photos"."attachable_id" = $1 AND "photos"."attachable_type" = $2
我的表格摘要:
<div class="tab-pane" id="tab2">
<%= nested_form_for current_user, :html=>{:multipart => true } do |f| %>
<%= f.fields_for :photos do |p| %>
<p>
<%= p.label :file %><br />
<%= p.file_field :file %>
</p>
<%= p.link_to_remove "Remove this attachment" %>
<% end %>
<%= f.link_to_add "Add attachment", :photos %>
<p><%= f.submit %></p>
<% end %>
</div>
user.rb代码段
has_many :photos, as: :attachable
accepts_nested_attributes_for :photos
photos.rb full
class Photo < ActiveRecord::Base
attr_accessible :file
belongs_to :attachable, :polymorphic => true
mount_uploader :file, FileUploader
end
答案 0 :(得分:3)
您的照片模型belongs_to :attachable
作为多态关联,这意味着它需要两列 - :attachable_type
(字符串)和:attachable_id
(整数)。例如,如果用户ID#1有照片,则照片的attachable_type为“User”,attachable_id为1。
如果您还没有,则需要创建迁移以将这些字段添加到Photo模型中。您可以通过(在迁移中)执行此操作:
change_table :photos do |t|
t.references :attachable, polymorphic: true
end