使用link_to Rails设置会话变量

use*_*798 4 session facebook ruby-on-rails hyperlink

是否可以使用link_to设置会话变量?我不想设置参数,因为我有一些重定向并且它被擦掉了.

即我想用链接将会话变量"modelid"设置为"you".

我想在FB登录oauth运行时设置会话变量...

<%= link_to "New Post", "#", {:class => "btn btn-primary btn-large inline pull-left", :onclick => "FB.login(function(response){},{perms:'email, publish_stream, user_photos'});" } %>
Run Code Online (Sandbox Code Playgroud)

mik*_*ked 7

您可以在其中一个控制器中创建一个设置此会话变量的操作,然后使用AJAX请求调用它.

路线:

post "/myroute", :to=>"some_controller#set_my_session_var"
Run Code Online (Sandbox Code Playgroud)

some_view.html.erb(jquery示例):

$(function(){
  $("#my-button").click(function(){
    $.post('/myroute');
  })
})
Run Code Online (Sandbox Code Playgroud)

some_controller.rb:

def set_my_session_var
  session[:somekey]='somevalue'
end
Run Code Online (Sandbox Code Playgroud)