#困っていること
Chromeの時だけ写真をアップロードするときにActionController::InvalidAuthenticityToken
のエラーになっていまします。
Safari(PC/iPhone)とiPhoneのchromeでは問題ありませんでした。
slim
1 = form_with model: @image, local: true, multipart: true do |f| 2 .form-group 3 = f.file_field :image 4 = f.text_field :user_id, value: params[:id] 5 .form-group.text-center 6 = f.submit t('form.send')
gem
はactive storageを使用しており、サーバーはheroku,写真保存はs3を使用しています。
エラーは開発環境でlocalhostで起きており、実際にはデプロイはしていないので本番環境はどうなっているかは確認できていません。
エラー起きる条件としてはchromeをしていて、かつ日本語ファイル名の写真やicloud上の写真を選択するとエラーになります。
デスクトップ上に置かれている写真で、写真のファイル名がローマ字の場合はエラーが起きずに問題なく送信することができます。
追記
実際にはしないのですが、試しにprotect_from_forgery with: :null_session
とすると以下のようなエラーになりました。
ActionController::ParameterMissing in ImagesController#create
param is missing or the value is empty: image
ruby
1def create_params 2 params.require(:image).permit(:user_id, :image) 3end
あなたの回答
tips
プレビュー