Rails 4,Paperclip和多态关联
我有2个模型:News和Uploadedfile
class News < ActiveRecord::Base has_many :uploadedfiles, as: :parent attr_accessible :title, :content, :author end class Uploadedfile < ActiveRecord::Base belongs_to :parent, polymorphic: true has_attached_file :url attr_accessible :url_file_name, :url_content_type, :url_file_size, :url_updated_at end
forms:
当我提交表单时,我的表uploadedfile
不会更改
问题出在哪儿? 谢谢!
我认为你嵌套了adebute :uploadedfiles
class News < ActiveRecord::Base has_many :uploadedfiles, as: :parent attr_accessible :title, :content, :author, :uploadedfiles_attributes accept_nested_attributes_for :uploadedfiles end
并以forms:改变:
<%= f.fields_for :uploadedfile, f.uploadedfile.new do |uf| %>
至:
<%= f.fields_for :uploadedfiles, Uploadedfile.new do |uf| %>
我不认为你需要多态关联。 这是一种更易读的方法:
class News < ActiveRecord::Base has_many :uploadedfiles attr_accessible :title, :content, :author accept_nested_attributes_for :uploadedfiles end class Uploadedfile < ActiveRecord::Base belongs_to :news has_attached_file :url attr_accessible :url_file_name, :url_content_type, :url_file_size, :url_updated_at end
*请注意,我已添加了accept_nested_attributes_for
forms:
<%= form_for(@news) do |f| %> <%= f.fields_for :uploadedfiles do |uf| %> <%= uf.label :url %>
<%= uf.file_field :url %> <% end %> <%= f.submit %> <% end %>