什么是 helper_method? 如果将方法设置为 helper_method,那就意味着该方法既可以在 controller 中使用,也可以在 view 中使用,这样会 大大提高编码效率,减少视图层的重复代码,使代码更加清晰。
class ApplicationController < ActionController::Base
...
helper_method :admin?
def require_admin
if not admin?
flash[:error] = "您没有权限操作!"
redirect_to home_path
end
end
def require_login
if not logged_in?
flash[:error] = "请登录!"
redirect_to log_in_path
end
end
private
...
def logged_in?
current_user.nil? ? false : true
end
def admin?
current_user.admin
end
end