Ruby on rails Rails(新手)-如何在创建操作时在db中的链接中存储令牌变量

Ruby on rails Rails(新手)-如何在创建操作时在db中的链接中存储令牌变量,ruby-on-rails,token,Ruby On Rails,Token,我对我的创造动作有问题,我不明白为什么我在这里错了 用户可以跟踪包含令牌变量的链接。这是我的路线 routes.rb 在创建操作中,我希望令牌存储在数据库中的sender_令牌实例中 我试过这个: 邀请控制器 谢谢大家! 应该是这样吗 @invitation.sender_token = params[:token] 难道不是吗 @invitation.sender_token = params[:token] 我找到了这个解决办法。 如果你认为这是正确的方法,请告诉我 def new

我对我的创造动作有问题,我不明白为什么我在这里错了

用户可以跟踪包含令牌变量的链接。这是我的路线

routes.rb 在创建操作中,我希望令牌存储在数据库中的sender_令牌实例中

我试过这个:

邀请控制器 谢谢大家!

应该是这样吗

@invitation.sender_token = params[:token]
难道不是吗

@invitation.sender_token = params[:token]
我找到了这个解决办法。 如果你认为这是正确的方法,请告诉我

def new
  @invitation = Invitation.new
  session[:token] = params[:token]       # or $test = params[:token] ???
end

def create
  @invitation = Invitation.new(params[:invitation])
  @invitation.sender_token = session[:token]      # or @invitation.sender_id = $test ???
    if @invitation.save
      session[:invitation] = @invitation
      Mailer.invitation(@invitation).deliver
      redirect_to invite_request_path
    else
      render :action => 'new'
    end
 end
我找到了这个解决办法。 如果你认为这是正确的方法,请告诉我

def new
  @invitation = Invitation.new
  session[:token] = params[:token]       # or $test = params[:token] ???
end

def create
  @invitation = Invitation.new(params[:invitation])
  @invitation.sender_token = session[:token]      # or @invitation.sender_id = $test ???
    if @invitation.save
      session[:invitation] = @invitation
      Mailer.invitation(@invitation).deliver
      redirect_to invite_request_path
    else
      render :action => 'new'
    end
 end

我不能真正理解你的问题。你所做的两个动作有关联吗?因为您提到的第一部分(在routes.rb中)将触发控制器中的新方法,而第二部分可能在向控制器发送帖子时被调用(如果您有路由)。此外,如果你得到一个错误,你能添加它吗?嗨,奥古斯托,我会编辑我的文章,以更清楚。我没有任何错误,但数据库中没有存储任何内容。谢谢Augusto,你是说新操作的参数(所以我要保存的令牌)与创建操作的参数不同吗?是因为这个令牌不能保存吗?我真的不明白你的问题。你所做的两个动作有关联吗?因为您提到的第一部分(在routes.rb中)将触发控制器中的新方法,而第二部分可能在向控制器发送帖子时被调用(如果您有路由)。此外,如果你得到一个错误,你能添加它吗?嗨,奥古斯托,我会编辑我的文章,以更清楚。我没有任何错误,但数据库中没有存储任何内容。谢谢Augusto,你是说新操作的参数(所以我要保存的令牌)与创建操作的参数不同吗?是因为这个令牌不能保存吗?