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