从重置

时间:2016-03-03 09:27:37

标签: ruby-on-rails

class UsersController < ApplicationController
def newpass
    @somevariable = {
                         "a-var" => params[:token_id],
                         "b-var" => params[:client_id],
                         "c-var" => params[:user_id]}
end
def setpass
    #I need to access this hash values without params getting reset
end

我有一个带有相应视图的动作newpass,它调用了setpass。我在newpass操作中访问了URL的参数。我想在setpass中使用这些param值,但值会重置。

1 个答案:

答案 0 :(得分:0)

使用链接:

当您的请求在setpass中执行UsersController操作时,您需要发送这些值。您可以创建一个按钮,或link_to来发送这些params值。方法如下:

<%= link_to "Go to", setpass_path(token_id: params[:token_id]) %>

您可以在params方法中传递_path,您将在控制器中的相应方法中收到所有这些值。

使用表格:

如果您使用的是表单,并且希望发送这些值,hidden_field_tag是最佳选择。你可以这样做:

<%= hidden_field_tag :token_id, params[:token_id] # this line must exist inside your form element %>