我从第一个动作中获取输入,如何将值传递给另一个动作?
example_controller.rb
def first
@first_value = params[:f_name]
end
def second
@get_value = @first_value
end
Run Code Online (Sandbox Code Playgroud)
您不能传递实例变量,因为第二个操作正在控制器的新实例中运行。但是您可以传递参数...
def first
@first_value = params[:f_name]
redirect_to second_action_path(passed_parameter: params[:f_name])
end
def second
@first_value = params[:passed_parameter]
@get_value = @first_value
end
Run Code Online (Sandbox Code Playgroud)
您还可以使用session变量,这通常是用户存储值的方式...不要存储整个对象,而仅存储键,因为会话存储通常受到限制
def first
@first_value = params[:f_name]
session[:passed_variable] = @first_value
end
def second
@first_value = session[:passed_variable]
@get_value = @first_value
Run Code Online (Sandbox Code Playgroud)