0
我試圖找出如何優雅地暴露外部API客戶端模式在我的Rails應用程序,它依賴於當前的會話。這裏是我的ApplicationController的一個片段:Rails的會話相關的常數
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
private
def user_api
@api ||= HollerAPI.new(current_user.jwt, :user) if current_user
end
end
但是,這個user_api
是模型不可訪問的。相反,這將是真棒,如果我可以定義一個常量,例如USER_API
,然後在應用程序中無處不在的訪問。有沒有辦法完成這個?
第一個建議的問題是,我現在正在創建一個客戶端庫,它明確接受特定於此應用程序的參數。 –
除非模型能夠找出它應該使用的API憑證,否則您確實需要將其留給控制器。通過線程局部變量之類的東西將事物傳播到模型是可能的,但這是非常危險的。 – tadman