いつもお世話になっております。
現在RailsでWebページを作成しております。
現在テキストフィールドなどに入力したデータを、データベースに登録するような機能を作っております。
フィールドに値を入力し、保存ボタンを押すとsaveメソッドが呼ばれる状態です(呼ばれたことを明確にするためにpryを入れております)。
下記コードようにファイルフィールドがあり、ここに適当なファイルを選択した場合なのですが、選択したファイルによって、このメソッドが呼ばれないことがあります。
実験してみたところ、ファイルの種類(画像、動画、テキストファイル等)は関係なく、ファイルサイズが10kbyte以下の時のみ、pryで止まり、それ以上のサイズを選択して保存を押すと、ブラウザのタブのグルグルがとまらず、しばらくすると、このページは動作していませんと表示されてしまいます。
データ10kバイト制限のようなものがrailsのfilefieldに存在することがあるのでしょうか。
いままでfilefieldは多く使用してきたのですが、こういった症状は初めてでこちらに質問させていただきました。
filefieldになにもファイルを選択しない場合も、問題なくsaveメソッドは呼ばれる状態です。
参考になるサイトでも構いませんので、適切な方法をご教示いただけますと幸いです。
よろしくお願いいたします。
------------------------ 追記 -----------------------
調査の結果Nginxによって、起きている症状っぽいことがわかりました。
puma + rails のみで起動した場合には問題はおこりません。
Nginx関係でファイル制限のようなものがあるのでしょうか。
環境
Amazon Linux release 2 (Karoo)
Rails 5.2.3
Ruby version: 2.6.1
ruby
1 2show.html.erb 3 4<%= form_with(model: @default, url: "/xxxx", local: true, html: {id: 'xxxx_form', class: 'form'}) do |f| %> 5 <%= f.file_field :mypage_logoimage, id: "mypage_btndelete" %> 6 <%= f.submit "保存", id: 'xxxx_save_btn', class: 'yellow_btn' %> 7<% end %> 8 9xxxx_controller.rb 10 11def save 12 binding.pry 13 # いろいろな処理してredirect 14end 15 16 17
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。