クッキーにアクセスして、アクションまたはコントローラーに関係なく同じ操作を実行します。ApplicationController(Rails)からクッキーにアクセスする方法
私は無数のアクションメソッドのそれぞれから呼び出されるメソッドを書く必要はありません。なぜなら、痛みではなく、非常にアジャイルなコードを作るからです。私はむしろapplication_controller.rbのApplicationControllerクラス(すべてのコントローラクラスのスーパークラス)からCookie処理メソッドを呼び出すことにします。
しかし、cookies()
をApplicationControllerクラスの本体で呼び出すと、「未定義メソッド」エラーが発生します。 (cookies
は後で定義されていないと思います)
私は何ができますか?私はApplicationControllerのinitialize()
メソッドを上書きし、そこから私のクッキー処理メソッドを呼び出すべきですか?もしそうなら、どのように引数をスーパーコンストラクタに渡すべきですか?
P.S.あなたのために働くかもしれない
cookies(:some_key)
ありがとうございました。しかし実際にはハッシュを返すメソッドではありませんか? 'cookies [:key]'は 'cookies()[:key]'の略です。それにもかかわらず、解決策を見つける手助けはできますか? 「クッキー」を呼び出してハッシュを期待しても、私が以前に受けていたエラーは回避されません。 – JellicleCat
これは、(Hashから継承した)CookieJarオブジェクトを返すメソッドです。クッキーデータではなくメソッドにアクセスする必要があることを正確には何をしていますか? – markquezada
私はクッキーデータの後です。問題は、各アクションから呼び出さずにアクセスする方法です。 (例えば、コントローラ内のメソッドから呼び出さずに、スーパークラスからどのようにアクセスできますか?) – JellicleCat