我有3个模型User,Course和Group。他们的关系如下
user.rb
has_and_belongs_to_many :courses
belongs_to :group
group.rb
has_many :users
belongs_to :course
course.rb
has_many :groups, dependent: :destroy
has_and_belongs_to_many :users
我想创建一个新组。如何构建组对象?我的用户和课程对象在
之下 def new
@user = User.find(current_user.id)
@course = Course.find(params[:course])
@group = need to build object here
end
以前我曾经做过类似的事情
@group = @user.groups.build
但现在我也有@course对象。怎么办呢?
答案 0 :(得分:4)
以下是您可以做的事情:
def new
@user = User.find(current_user.id)
@course = Course.find(params[:course])
@group = @user.build_group(course: @course)
# you can do @user.create_group!(course: @course) to create
# the object in-place instead of in memory.
end
答案 1 :(得分:1)
def new
@user = User.find(current_user.id)
@course = Course.find(params[:course])
@group = @course.build_group(:user => @user)
end
试试这个