如何在Rails中的lib类中访问会话

时间:2011-07-01 10:40:20

标签: ruby-on-rails ruby ruby-on-rails-3 session

我正在开发rails 3中的应用程序

如何在Rails中的lib类中访问会话。

由于

1 个答案:

答案 0 :(得分:3)

在Rails中,ApplicationController有一个名为session的方法,使用session[:user_id]来获取会话值。因此,如果要在lib中使用会话,则需要在lib类中定义一个以会话为参数的方法。

<强> LIB / your_class.rb

class YourClass

  def set_session(session_)
    @mysession = session_ 
  end

  def session
    return @mysession
  end

end

简单的方法是,您可以使用模块而不是lib类,并将模块包含在Controller中。然后你可以在lib模块中使用session[:user_id]