导轨的has_many嵌套属性+回形针宝石

问题描述:

我有这样的模式:导轨的has_many嵌套属性+回形针宝石

class Project < ApplicationRecord 
    acts_as_taggable 
    has_many :documents, dependent: :destroy 
    accepts_nested_attributes_for :documents 
end 

而这种模式:

class Document < ApplicationRecord 
    belongs_to :project,inverse_of: :document, dependent: :destroy 
    has_attached_file :document, styles: {thumbnail: "60x60#"} 
    validates_attachment :document, content_type: { content_type:  "application/pdf" } 
end 

这是我的projects_controller.rb文件的方法:

def new 
    @project = Project.new 
    @project.documents.build 
end 
def project_params 
     params.require(:project).permit(:title, :resume, :documents => [:id,:name,:description,:date,:local,:document], 
end 

这是我对该项目的索引视图:

<td><%= project.title %></td> 
<td><%= project.resume %></td> 
<td><%= project.documents.name %></td> 
<td><%= project.documents.description %></td> 
<td><%= project.documents.date %></td> 
<td><%= project.documents.local %></td> 
<td><%= project.documents.document_file_name %></td> 
<td><%= link_to 'Download', project.documents.document.url(:original, false) %> </td> 

当我创建的文档查看文档,创建文档,但是当我要创建的文档在项目视图属性,它给了我这个错误:

undefined method 'description' for ActiveRecord::Associations::CollectionProxy []

我在做什么错?

+0

':文件=> [:ID,:名称,:说明:日期,:本地,:文件]'应该是' :documents_attributes => [:id,:name,:description,:date,:local,:document]' – Thanh

在你projects_controller.rb文件project_params方法变更:documents:documents_attributes

def project_params 
    params.require(:project).permit(:title, :resume, :documents_attributes => [:id, :name, :description, :date, :local, :document]) 
end