起動情報:
- 私のシステムは、適切なアカウントを取得するためにサブドメインを使用しません!
- Rails 3.0.x を使用しています
- 私はauthlogic 2.1.6を使用しています
- モデル アカウントとモデル ユーザー
- Cookie は、account_1_user_credentials などの名前で存在します。
モデル Account.rb
class Account < ActiveRecord::Base
authenticates_many :user_sessions, :scope_cookies => true
has_many :users
end
モデル User.rb
class User < ActiveRecord::Base
acts_as_authentic do |c|
c.validations_scope = :account_id
end
belongs_to :account
...
end
質問: アプリケーション ヘルパー メソッドをコーディングするにはどうすればよいですか?
Authlogic のドキュメントには、scope_cookies を使用した authenticates_many を使用しない通常の実装のみが示されています。
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 の実装)はどのように見えますか?