Ruby on rails 回形针多文件上传

Ruby on rails 回形针多文件上传,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.2,paperclip,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.2,Paperclip,我有三个模型: class Project < ActiveRecord::Base attr_accessible :name has_many :tickets, dependent: :delete_all end class Ticket < ActiveRecord::Base belongs_to :project attr_accessible :description, :title,:asset has_many :assets

我有三个模型:

 class Project < ActiveRecord::Base
  attr_accessible :name
  has_many :tickets, dependent: :delete_all
 end

 class Ticket < ActiveRecord::Base
  belongs_to :project
  attr_accessible :description, :title,:asset  
  has_many :assets
  accepts_nested_attributes_for :assets
end

class Asset < ActiveRecord::Base
  attr_accessible :title, :body
  belongs_to :ticket
  has_attached_file :asset
end
问题是,当我尝试为项目创建新票证时,它会在/projects/1/tickets/new处显示ActiveRecord::UnknownAttributeError 未知属性:票证id @票证=id:nil,标题:nil,描述:nil,项目id:1,创建时间:nil,更新时间:nil,用户id:nil


从错误消息中,我可以看到票证“id”为零(尚未创建),因此资产没有票证id,那么我该如何解决这个问题呢?

您应该为资产使用嵌套形式的gem,并且您必须在资产数据库表中创建ticket\u id属性才能正常工作关联。

您应该为资产使用嵌套形式的gem,并且必须在资产数据库表中创建ticket\u id属性才能正常工作关联

attr_accessible :ticket_id
您需要将此字段添加为在其模型上可访问的属性

对于嵌套属性 您还需要将项目资源添加为attr\u accessibl/attr\u accessor

attr_accessible :project_assets
attr_accessor :project_assets
您需要将此字段添加为在其模型上可访问的属性

对于嵌套属性 您还需要将项目资源添加为attr\u accessibl/attr\u accessor

attr_accessible :project_assets
attr_accessor :project_assets

这种嵌套形式是
nested_形式
gem的一个特征。您是否将其包含在您的
gem文件中
?不,我只使用PaperClipEsted\u form gem在这里不是必需的,因为他正在操作文件上手动构建资产。这种嵌套表单是
嵌套表单
gem的一个功能。您是否将其包含在您的
GEM文件中,我只使用paperclipnested_form gem在这里不是必需的,因为他是在操作文件上手动构建资产的。但不使用嵌套表单gem也是可能的不使用嵌套表单gem也是可能的,但我认为更好的方法是使用嵌套表单gem,但不使用嵌套表单gem也是可能的不使用嵌套表单gem也是可能的嵌套的形式,但我认为更好的方法是使用嵌套的形式
attr_accessible :project_assets
attr_accessor :project_assets