使用電池和設計,試圖訪問一個設計的時候:當前_#{}映射(如CURRENT_USER)我收到請求作爲未定義的錯誤:Rails的細胞與設計和訪問請求和會話
::的ActionView模板::錯誤(未定義的局部變量或方法`請求'爲#)
我已經包含Devise Helpers方法,但它們訪問Cell :: Base中不存在的Web上下文請求。我的手機控制器看起來是這樣的:
class ActivityCell < Cell::Base
include Devise::Controllers::Helpers
helper_method :current_user
def display
puts current_user.id # <-- Error starts here
...
end
end
我使用的RubyMine,當我調試的情況,非正常細胞內控制,自我有請求。在Cells :: Base Controller中,請求不在。
我發現這個代碼片段here應該顯示如何從單元控制器訪問請求和其他重要的位,但它有點不清楚如何簡單地讓設計在單元控制器中按預期工作。例如Cells :: Base提出請求和其他任何設計需求
我認爲我的Cells版本可能有問題,但我使用的是3.8.3。 (最新)我認爲這是因爲我也沒有「會議」可用here項目#4「控制器應該是苗條的」。我無法從Cell :: Base Controller訪問會話。我不知道這是否僅適用於Ruby 2.x,而現在只適用於3.x,這是不可能的。 (文章沒有提到版本,但我看到評論2010年底發佈)
class CartCell < Cell::Base
def display
@user = session[:user]
render
end
除了這個問題,我超級挖細胞。我將它用於獨立的小部件,它使用jQuery AJAX從它們中抽出JSON用於繪圖目的。
任何幫助,將不勝感激。我需要了解當前登錄的Devise用戶的詳細信息!
是的。切換到單元:: Rails修復了設計需求:會話。我會給你答案,但請注意,如果你想在routes.rb中使用Cell :: Base.render_cell_for,你會得到參數錯誤,這是我的錯,但我沒有提出它這個問題,所以我不會拖延這一點。 https://github.com/apotonick/cells/issues/106 – garlicman 2012-04-18 23:37:24