Ruby on rails 如何将id从创建操作传递到另一个操作?
好的,我有两种方法Ruby on rails 如何将id从创建操作传递到另一个操作?,ruby-on-rails,Ruby On Rails,好的,我有两种方法 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 { rende
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
def加入组
@user=user.find(当前用户[:id])
@group=group.find(参数[:id])
回应待办事项|格式|
如果@user.groups在创建用户后不需要完全单独的操作来添加用户,只需在create方法中进行设置即可
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传递给它。您可以做的一件事(不是最好的方法)是在组
表中获取最后一条记录,并将其分配给加入组
方法中的@group
。因为,它在创建一个组后进入该操作。但最好的办法是“杰瑞德回答”