私はたくさんの異なるコントローラーを持っていて、標準の「ようこそ、ユーザー」を実行できるようにしたいと思っています。任意のコントローラーからアクセスできるようにユーザー変数を割り当てるにはどうすればよいですか?
これが私がこれまでにアプリケーションコントローラーに持っているものです:
class ApplicationController < ActionController::Base
before_filter :authorize
protect_from_forgery
private
def current_user
User.find(session[:user_id])
end
protected
def authorize
unless User.find_by_id(session[:user_id])
redirect_to login_url, :notice => "Please Login"
end
end
end
これが私のapplication.html.hamlファイルです:
!!!
%html
%head
%title Pears
= stylesheet_link_tag "application", :media => "all"
= javascript_include_tag "application"
= csrf_meta_tags
%body
%header
= link_to('Home', '/')
- if session[:user_id]
Welcome,
= current_user.firstname
= link_to('Logout', logout_path, method: :delete)
- else
= link_to('Login', login_path)
= link_to('Signup', signup_path)
= yield
最善のアプローチは何ですか?
ありがとう!