親アプリケーションのUserモデルとの関係を確立するために、 "acts as"形式を使用するレールエンジンを構築しています。rails 3.1エンジンから親アプリケーションのヘルパーメソッドを呼び出す方法
module Cornerstone
module ActsAsCornerstoneUser
extend ActiveSupport::Concern
module ClassMethods
def acts_as_cornerstone_user(options = {})
#= Associations
has_many :cornerstone_discussions
#= Options
Cornerstone::Config.auth_with << options[:auth_with] if options[:auth_with]
Cornerstone::Config.auth_with.flatten!
end
end
module InstanceMethods
end
end
ActiveRecord::Base.send :include, ActsAsCornerstoneUser
end
私は:auth_with
オプションを使用して、ヘルパーメソッド名を指定することができるようにする開発者のためにしたいと思います。アイデアは、開発者が親アプリケーション内でそのセッションのサインインしたユーザーを返すヘルパーメソッドを指定することです。
私の質問は、開発者がauth_with
オプションを指定した後で、その親アプリケーションのメソッドをどのように呼び出すことができますか?
親アプリケーションのサインインユーザーを取得する方が良いでしょうか?私はそれが単にcurrent_user
を呼び出すことに依存しないようにできるだけ柔軟なものにしたいと思います。
1人または複数の礎石ユーザーが必要ですか? (つまり、1つの認証方法またはクラスごとに1つ) –
また、認証はコントローラのジョブである必要があります。認証されたユーザーはどこに必要ですか? –
認証されたユーザーはエンジンのコントローラ内で必要になりますが、認証は親アプリケーションで行われます。 – astjohn