なんで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
参考
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
endapplication.rb
include AuthenticatedSystem