好的我有两种方法
msg()
我希望在调用def join_group
@user = User.find(current_user[:id])
@group = Group.find(params[:id])
respond_to do |format|
if @user.groups << @group
format.html {redirect_to @group}
format.js
else
format.html { render :index}
end
end
end
def create
@group = Group.new(group_params)
@group.created_by = current_user.id
respond_to do |format|
if @group.save
format.html { redirect_to @group }
format.js
format.json { render :show, status: :created, location: @group }
else
format.html { render :new }
format.json { render json: @group.errors, status: :unprocessable_entity }
end
end
end
操作create
后进行此操作。我正在尝试join_group
,但我不知道如何将after_action :join_group, only: [:create]
传递到id
,我最终得到join_group
答案 0 :(得分:0)
您可以在创建方法中设置用户,而不是在创建用户后添加完全独立的操作。
def create
#adds user to the group and builds it like you have it.
@group = current_user.groups.build(group_params.merge(created_by: current_user.id)
respond_to do |format|
if @group.save
format.html { redirect_to @group }
format.js
format.json { render :show, status: :created, location: @group }
else
format.html { render :new }
format.json { render json: @group.errors, status: :unprocessable_entity }
end
end
end
但是如果你确实希望将它分开,我会将它作为一个方法添加到组中,并将用户ID传递给它。