簡體   English   中英

設計current_user在可安裝引擎中不起作用

[英]Devise current_user not working in mountable engine

遵循方法:在可安裝的引擎中使用devise ,但我無法顯示任何Devise幫助器方法。

我使用的引擎是People (請參閱我的完整回購

module People
  class ApplicationController < ActionController::Base
    current_user
  end
end

返回undefined local variable or method 'current_user' for People::ApplicationController:Class

我嘗試了以下

  • 在People :: ApplicationController頂部require 'devise'
  • 在主機的application.rb中require 'devise'
  • 調用main_app.current_user
  • 呼叫People::User.current_user
  • 添加helper People::Engine.helpers (根據此SO建議

而且,會議都不是

不確定是否相關,但是當我pry入ApplicationController並鍵入時

# Pry Session
  session[:foo]
  => NameError: undefined local variable or method `session' for People::ApplicationController:Class

其他上下文,已安裝Devise

我可以創建用戶。

# Pry Session
  People::User
  => People::User(id: integer, email: string, encrypted_password: string, reset_password_token: string, reset_password_sent_at: datetime, remember_created_at: datetime, sign_in_count: integer, current_sign_in_at: datetime, last_sign_in_at: datetime, current_sign_in_ip: string, last_sign_in_ip: string, created_at: datetime, updated_at: datetime)

這里的問題是因為您試圖在類上下文而不是實例上下文中訪問實例方法current_user 如果您在控制器的動作中引用了該方法,則該方法應該起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM