iframeからsafariにフォームを投稿している間、無効な認証トークン例外が発生します。 iframeなしで試してみるとうまくいきます。ActionController :: iframeを使用しているときにsafariでInvalidAuthenticityToken例外が発生しました
どうしてですか?これをどうすれば解決できますか?
iframeからsafariにフォームを投稿している間、無効な認証トークン例外が発生します。 iframeなしで試してみるとうまくいきます。ActionController :: iframeを使用しているときにsafariでInvalidAuthenticityToken例外が発生しました
どうしてですか?これをどうすれば解決できますか?
真正性トークンは、CSRF攻撃からユーザを保護するために使用されるメカニズムです。ここでは良い説明は、ユーザーが にリソースを作成、更新、または破壊するためにフォームを表示するとUnderstanding the Rails Authenticity Token
から取得され、レールのアプリはランダムauthenticity_token、 店セッションでこのトークンを作成し、そしてだろうそれを フォームの非表示フィールドに置きます。ユーザーがフォームを送信すると、レールは authenticity_tokenを検索し、セッションに格納されているものと比較し、要求が一致する場合は を続行することができます。
基本的に、モデルレールを変更するアクションでは、それがあなたの変更であることを確認する必要があります。
RailsのこのようなHTMLタグでフォームにその秘密真正トークンを追加することで(form_for
またはform_tag
ヘルパーを使用して)行います戻る問題へ<input name="authenticity_token" type="hidden" value="Som3Thin10ngAndUGly">
:私は、アイフレームで働いたことがありませんだから私は何が起こっているのか分からないが、私の推測ではあなたのiframeフォームはauthencity_tokenを通過していないということです。これが当てはまる場合、解決策は簡単です。上記のような隠し入力を追加し、form_authenticity_token
メソッドを使用してその値を設定してください。