2017-08-12 13 views
1

私はVueアプリケーションを管理するためにRails 5.1でWebpackの新しいサポートをしようとしています。現時点ではCSRFトークンに簡単にアクセスする方法はありません。 previous answers to this questionからの提案は、カテゴリに分類されているように見える:CSRFを持っているページヘッダからmetaタグを取得するためのjQueryを使用し Rails 5.1 with Webpack:CSRFトークンへのアクセス

  • 直接JavaScriptファイルにform_authenticity_token Railsのヘルパーを埋め込む

    • 使用ERB(すなわちmy-app.js.erb)それに埋め込まれたトークン

    私の場合は、ERBファイルのJSファイルへの処理がアセットパイプラインの一部であると思われるので、最初のものはまったく動作しませんが、代わりにWebpackがそのビルドタスクを処理します。 2番目のアプローチはうまくいくかもしれませんが、現時点では私はpackage.jsonにjQueryを含めておらず、その単一の目的のためだけにそれを含めるのはちょっと残念です。

    metaタグをDOMに配置してCSRFトークンを取得するためのJSコードを書き込むことはできますが、私が欠けているクリーナーな方法があるのだろうかと思っています。

  • 答えて

    2

    はバニラJSでそれを実行します。

    document.querySelectorAll('meta[name="csrf-token"]') 
    
    +0

    を私は 'querySelectorAll'考えられていたが、私はそれは私がサポートするために必要なすべてのブラウザで普遍的に存在していなかったと思いました。しかし、https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAllによると、私はそれについて間違っているので、それは良い方法のように思えます。ありがとう。 –

    関連する問題