rails_admin v0.7.0을 사용하여이 시점에서 클리어런스 젬을 성공적으로 사용했습니다. 오늘 rails_admin을 v1.0으로 업데이트하려고 시도했지만 정의되지 않은 변수 또는 메소드 오류가 발생했습니다 (current_user
). v0.7.0에서는 RailsAdmin::MainController
이 ApplicationController
에서 상속 받았지만 v1.0에서는 ActionController::Base
에서 직접 상속 받음을 알 수 있습니다. 이는 current_user
이 정의되지 않았 음을 의미합니다 (나는 current_user
이 클리어런스 젬을 가지고 ApplicationController
에 정의되어 있다고 생각합니다). 그러나이 문제를 가진 다른 사람을 찾지 못했기 때문에 나는 뭔가를 놓치고 있다고 생각합니다.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