2012-04-14 10 views
0

細胞を用いたと工夫にアクセスし、工夫にアクセスしようとしている:(CURRENT_USERのような)現在の_#{マッピング}私は未定義のエラーとして要求を取得しています:Railsの工夫を有する細胞と要求し、セッション

ActionViewを:: Template :: Error(未定義のローカル変数またはメソッドの `要求 'に#)

私はDeviseヘルパーメソッドをインクルードしましたが、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 

、自己が要求されています。 Cells :: Base Controllerの内部では、リクエストは処理されません。

このスニペットhereは、セルコントローラからリクエストやその他の重要なビットにアクセスする方法を示していますが、Cells Controllerで意図したとおりにDeviseを動作させる方法は不明です。例えばCell :: Baseは、Deviseが必要とするものをリクエストします。

私のCellsバージョンでは問題があるかもしれませんが、私は3.8.3を使用しています。 (最新)これは、私が「セッション」を利用できるようになったためであると考えている理由は、項目#4「コントローラーはスリムでなければならない」の下にhereと示されています。 Cell :: Base Controllerからセッションにアクセスできません。これが以前のRuby 2.xでのみ可能だったのか、今では3.xでできたのかは分かりません。この問題以外

class CartCell < Cell::Base 
    def display 
    @user = session[:user] 

    render 
end 

(記事はバージョンは言及していないが、私はコメントは2010年後半を投稿した参照)、私はスーパーセルを掘っています。私は、jQuery AJAXを使用してグラフ作成の目的でJSONを取得した独立ウィジェットに使用しています。

ご協力いただければ幸いです。私はログインしている現在のDeviseユーザーに関する詳細を知る必要があります!

答えて

1

あなたは既に自分自身を指摘していたので、Cell :: Railsからセルを派生させればすべてうまく動作します。

+0

真。 Cells :: Railsに切り替えると、Devise need for:sessionが修正されます。私はあなたに答えを与えますが、routes :: rbの中でCell :: Base.render_cell_forを試しているなら、あなたは引数エラーを取得しようとしていますが、私はそれを持ってこなかった私はこれをドラッグしませんので、質問。 https://github.com/apotonick/cells/issues/106 – garlicman

関連する問題