启动信息:
- 我的系统不使用子域来获取正确的帐户!
- 我使用 Rails 3.0.x
- 我使用 authlogic 2.1.6
- 模型帐户和模型用户
- cookie 以名称存在,例如 account_1_user_credentials,没错!
模型账户.rb
class Account < ActiveRecord::Base
authenticates_many :user_sessions, :scope_cookies => true
has_many :users
end
模型用户.rb
class User < ActiveRecord::Base
acts_as_authentic do |c|
c.validations_scope = :account_id
end
belongs_to :account
...
end
问题:如何编写应用程序辅助方法?
Authlogic 的文档仅显示了没有 authenticates_many 和 scope_cookies 的正常实现:
class ApplicationController
helper_method :current_user_session, :current_user
private
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
end
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.user
end
end
但是session_controller.rb(设置 current_account_session)和application_controller.rb(def current_account_session ... end 的实现)看起来如何?