なんでrestful_authenticationのviewからcurrent_userが呼べんだろ

usersじゃなくて、membersなスキーマのシステムのユーザー管理をrestful_authenticationベースにしてみることにした。

だいたい動いたんだけど

viewからcurrent_memberとかloged_in?とか呼べない。っーか、呼べる理由がよくわかんない

たぶんこの部分だわ

    # Inclusion hook to make #current_user and #logged_in?
    # available as ActionView helper methods.
    def self.included(base)
      base.send :helper_method, :current_user, :logged_in?
    end

参考

base の検索結果 - zenpouの日記

self.includedというメソッドは、moduleをincludeした時に呼び出されるメソッドです。
で、baseは、呼び出した側のクラスが入ってきますので、そちらに対して、class_evalを
実行します。

http://gendosu.ddo.jp/redmine/wiki/1/BaseSend?export=txt&version=4

h1. libに追加したメソッドをhelper,viewの中でも使用したい場合

admin_member?メソッドを作成し、self.includedの中でbase.sendを呼び出すことで、viewでも参照できるようになる
lib内のモジュール


module AuthenticatedSystem
protected
def admin_member?
logged_in? && current_member.login.eql?('admin') ? true : false
end

# Inclusion hook to make #current_member and #logged_in?
# available as ActionView helper methods.
def self.included(base)
base.send :helper_method, :admin_member?, :logged_in?
end
end

application.rb


include AuthenticatedSystem