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
。因为,它在创建一个组后进入该操作。但最好的办法是“杰瑞德回答”