模块SessionsHelper中的行为未包含在类中

时间:2016-05-20 19:17:14

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

我尝试将会话添加到我的rails应用程序中,并且我有一个类@Override public void onDependentViewRemoved(CoordinatorLayout parent, FloatingActionButton child, View dependency) { child.animate().translationY(0); child.setTranslationY(0); } ,负责处理与会话相关的任务

SessionManager

你可以看到我包含class SessionManager include SessionsHelper def log_in(user) session[:user_id] = user.id end def current_user @current_user ||= User.find_by_id(session[:user_id]) end def logged_in? return false if current_user.nil? true end end 以便使用SessionsHelper方法将一些数据放入会话中,但当我尝试使用此代码时,我会回来:

session

我做错了什么?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我不确定你的SessionsHelper模块是什么样的,但你可能想看看使用self.included。这有时被称为“mixin”。

我认为构建类似于此的模块可以帮助您:

module SessionsHelper
  def self.included(base)
    base.class_eval do

      def session
        # ...
      end

    end
  end
end

有关收录的更多信息:http://ruby-doc.org/core-2.2.0/Module.html#method-i-included