メインアプリと管理アプリを持つ Padrino アプリケーションに取り組んでいます。ユーザーがセッション経由でログインするときは、次の 2 行を実行してログインします。
account = Account.authenticate(params[:email], params[:password])
set_current_account(account)
管理者の任意のコントローラーでデバッガーを使用
current_account
#<Account @id=1 @name="John" @surname="Davies" @email="john.davies@gmail.com" @crypted_password="3456789" @role="admin">
全機種デバッガ付き
current_account
*** NameError Exception: undefined local variable or method `current_account' for #<Post @id=1 @question="Why is this not working?" @answer="I have no idea">
どのユーザーが管理アプリにログインしているかを調べるために current_account にアクセスできますが、この変数はメイン アプリではアクセスできません。
私がやろうとしているのは、すべてのモデルに対してアクティビティ フィード (監査証跡) を作成しているため、モデルでレコードが作成/更新/破棄されると、モデル アクティビティで新しいレコードが作成されることです。そうは言っても、モデルの current_account 変数にアクセスする必要があります。
解決策を探したところ、次のような提案がありました。
admin/app.rb 内
enable :sessions
set :session_id, "my-global-session"
app/app.rb 内
register Padrino::Admin::AccessControl
register Padrino::Admin::Helpers
enable :sessions
set :session_id, "my-global-session"
私にはうまくいきませんでした。モデルで current_account にアクセスする方法はありますか?
ガイドや提案をありがとう。