rails_admin v0.7.0を使用していますが、この時点でクリアランスgemが正常に上がっています。今日rails_adminをv1.0にアップデートしようとしましたが、未定義の変数やメソッドのエラーがcurrent_user
になっています。 v0.7.0では、RailsAdmin::MainController
はApplicationController
から継承されていますが、v1.0ではActionController::Base
から直接継承されているため、current_user
は未定義です(私はcurrent_user
がクリアランスgemで定義されていると思います)。しかし、私はこの問題で他の誰かを見つけることができないので、私は何かを欠けているに違いないと思っています。rails_adminでcurrent_userが定義されていません
私はこのアプリでクリアランスを設定した人ではありませんでしたが、私はそれに影響する非標準のことはしていないと思います。 Clearance::Controller
はApplicationController
に含まれています。 current_user
の特別な定義はありません。
設定/初期化子/ rails_admin.rb
RailsAdmin.config do |config|
# Popular gems integration
## Clearance
config.authorize_with do |controller|
unless current_user.admin?
redirect_to(
main_app.root_path,
alert: "You are not permitted to view this page"
)
end
end
config.current_user_method { current_user }
end
「rails_admin」の問題に対する素晴らしい回答です。 –
Rails 5アプリでSorceryとの統合にこれが必要でした。ありがとう! –
私はこの問題を*時間*と取り組んでいました。ありがとう! – daybreaker