Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 已为联接模型传递多个额外属性值_Ruby On Rails 3_Attributes_Has Many Through - Fatal编程技术网

Ruby on rails 3 已为联接模型传递多个额外属性值

Ruby on rails 3 已为联接模型传递多个额外属性值,ruby-on-rails-3,attributes,has-many-through,Ruby On Rails 3,Attributes,Has Many Through,这是我的模型定义 class Partner < ActiveRecord::Base has_many :projectcollaborations has_many :projects, :through => :projectcollaborations, :source => :project end class Project < ActiveRecord::Base has_many :projectcollaboration

这是我的模型定义

class Partner < ActiveRecord::Base
   has_many :projectcollaborations   
   has_many :projects, :through => :projectcollaborations, :source => :project 
end

class Project < ActiveRecord::Base   
   has_many :projectcollaborations   
   has_many :partners, :through => :projectcollaborations, :source => :partner 
end

class Projectcollaboration < ActiveRecord::Base   
   belongs_to :project  
   belongs_to :partner 
end
现在,在创建新项目时,我想在project_role列中传递值“creator”。我怎样才能做到这一点

当前的create方法与下面的方法类似

def create
    @partner = Partner.find(params[:partner_id])
    @project = Project.new(params[:project])
    @project.partners << @partner

    respond_to do |format|
      if @project.save
        format.html { redirect_to partner_project_path(@partner, @project), notice: 'Project was successfully created!' }
        format.json { render json: @project, status: :created, location: @project }
      else
        format.html { render action: "new" }
        format.json { render json: @project.errors, status: :unprocessable_entity }
      end
    end
  end
def创建
@partner=partner.find(参数[:partner\u id])
@project=project.new(参数[:project])

@project.partners的可能副本我可以澄清一下“创建者”是什么意思吗?它只是关系表projectcollaborations的project\u列角色的一个值。我的目标是创建一个新项目,指定合作伙伴作为项目的创建者。这样我以后可以查询谁是项目的创建者
def create
    @partner = Partner.find(params[:partner_id])
    @project = Project.new(params[:project])
    @project.partners << @partner

    respond_to do |format|
      if @project.save
        format.html { redirect_to partner_project_path(@partner, @project), notice: 'Project was successfully created!' }
        format.json { render json: @project, status: :created, location: @project }
      else
        format.html { render action: "new" }
        format.json { render json: @project.errors, status: :unprocessable_entity }
      end
    end
  end