Вот мое определение модели
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
Мой объединенный стол выглядит как нижний
+--------------+--------------+------+-----+-------------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+-------------+-------+
| project_id | int(11) | NO | PRI | 0 | |
| partner_id | int(11) | NO | PRI | 0 | |
| project_role | varchar(255) | YES | | participant | |
+--------------+--------------+------+-----+-------------+-------+
Теперь при создании нового проекта я хочу передать значение "creator" в столбец project_role. Как я могу достичь этого?
Текущий метод создания Выглядит как ниже
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