У меня есть has_many: через отношения между пользователями и проектами через модель объединения прав собственности.Я хочу иметь возможность установить атрибут модели владения при создании отношений между пользователем и новым проектом.Вот что у меня есть:
def create
@project = Project.new(params[:project])
if @project.save
current_user.projects << @project
flash[:success] = "Project created!"
redirect_to @project
else
flash[:error] = "Project not created."
end
end
По сути, я не знаю, как установить значение "owner_type" в модели владения при создании нового проекта для данного пользователя, поскольку я непрямо упомяните модель соединения владения в контроллере создания проектаКак мне это сделать?
Вот моя модель владения (присоединения):
class Ownership < ActiveRecord::Base
attr_accessible :owner_type
belongs_to :project
belongs_to :user
validates :user_id, :presence => true
validates :project_id, :presence => true
validates :owner_type, :presence => true
end
и моя модель пользователя:
class User < ActiveRecord::Base
attr_accessible :name, :email, :admin, :projects
has_many :ownerships
has_many :projects, :through => :ownerships
accepts_nested_attributes_for :projects
и модель моего проекта:
class Project < ActiveRecord::Base
attr_accessible :name, :description
has_many :ownerships
has_many :users, :through => :ownerships