一つのページに 二つのsubmitボタンをつけたいのですが、local上にて、一つめの送信ボタンを押すと、
param is missing or the value is empty: addfile とエラーを吐かれてしまいます。
二つ目の送信ボタンはエラーも何事もなく 取得できます。何が原因となっているのでしょうか?
class TopController < ApplicationController before_action :move_to_page def index @download = Fileup.all @sen = Monetize.new @content = Addfile.new @data = Monetize.all @rel = Monetize.where(userid: current_user.id) if @rel.count > 0 monetize = @rel.first @chart_data = [["saraly", Monetize.salary ], ["utility", Monetize.utility], ["rent", Monetize.rent], ["transport", Monetize.transport], ["postage", Monetize.postage], ["eat", Monetize.eat], ["daily", Monetize.daily], ["entertainment", Monetize.entertainment], ["investment", Monetize.investment]] end end def made Monetize.create(salary: made_params[:salary], utility: made_params[:utility], userid: current_user.id, rent: made_params[:rent], transport: made_params[:transport], postage: made_params[:postage], eat: made_params[:eat], daily: made_params[:daily], entertainment: made_params[:entertainment], investment: made_params[:investment]) redirect_to action: :index end def create Addfile.create(filedata: create_params[:filedata], username: current_user.fullname, filename: create_params[:filename], userid: current_user.id) redirect_to action: :index end private def create_params params.require(:addfile).permit(:filedata, :filename) end def made_params params.require(:monetize).permit(:salary, :utility, :rent, :transport, :postage, :eat, :daily, :entertainment, :investment) end def move_to_page unless user_signed_in? then redirect_to '/users/sign_in' end end end
<%= form_for @sen, :url => {:action => :made } do |f| %> <h3>月の収入</h3> <%= f.text_field :salary %><em>円</em> <h3>月の支出</h3> <ul> <li> <h4>光熱費</h4> <%= f.text_field :utility %><em>円</em> </li> <li> <h4>家賃</h4> <%= f.text_field :rent %><em>円</em> </li> <li> <h4>交通賃</h4> <%= f.text_field :transport %><em>円</em> </li> <li> <h4>通信賃</h4> <%= f.text_field :postage %><em>円</em> </li> <li> <h4>食賃</h4> <%= f.text_field :eat %><em>円</em> </li> <li> <h4>日用雑貨賃</h4> <%= f.text_field :daily %><em>円</em> </li> <li> <h4>娯楽賃</h4> <%= f.text_field :entertainment %><em>円</em> </li> <li> <h4>投資</h4> <%= f.text_field :investment %><em>円</em> </li> <li> <div class="float-cut"> </div> <div class="action"> <%= f.submit "グラフの表示" %> </div> </li> </ul> <% end %> </div> <div class="graph"> <%= pie_chart @chart_data, height: '550px', width: '550px' %> </div> </div> <div class="download"> <h2>ファイルダウンロード</h2> <table> <tr> <th class="t_top" width="180">ファイル名</th> <td class="t_top">ダウンロードリンク</td> </tr> <% @download.each do |file| %> <tr> <th><%= file.filename %></th> <td><a href="<%= file.filedata %>">ダウンロード</a></td> </tr> <% end %> </table> </div> <div class="file"> <h2>ファイル提出</h2> <div class="file-explain"> <h4>ファイル名は、ファイル名で内容がわかるようにしてください。</h4> </div> <%= form_for @content, :url => {:action => :create} do |f| %> <div class="field"> <%= f.label :ファイル名 %><br> <%= f.text_field :filename %> </div> <div class="field"> <%= f.label :ファイル選択 %> <%= f.file_field :filedata %> </div> <div class="actions"> <%= f.submit "アップロード" %> </div> <% end %> </div>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。