I have 3 models User, Course and Group. Their relationship is as follows
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
I want to create a new group. How can I build group object? My user and course objects are below
def new
@user = User.find(current_user.id)
@course = Course.find(params[:course])
@group = need to build object here
end
Previously I used to do something like this
@group = @user.groups.build
But now I also have @course object. How can do this?
Here is what you can do:
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
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments