<概要>
javascriptで取得したデータをhiddenでデータベースに保存するために、動的にhiddendで送られるようにできました.
そこで質問です。parameterのなかの、"lender"=>"坂本"を "order"=>{"status"=>"貸出中", "pay_status"=>"false"}, "id"=>"66"}のハッシュのなかに入れたいのです。
私の考えでは、javascriptのq.nameの部分に、入るように記述を書けばいいのかと思っていおります。
それか、strong parameterに何かしらの手を加えればいいのでしょうか?教えてください。よろしくお願いします。
html
1 <%= form_with model:@order,url:admins_order_path(@order) do |f| %> 2 <tr> 3 <th>貸し出し返却ステータス</th> 4 <td width="300"> 5 <% unless @order.status == "返却済" %> 6 <%= f.select :status, Order.statuses.keys.to_a, {}, class: "select_box" %> 7 <%= f.submit '更新',class: "btn btn-info update_button",'data-admin-name': current_admin.name %> 8 <% else %> 9 <%= @order.status %> 10 <% end %> 11 </td> 12 </tr> 13<% end %>
OrderModel
1enum status: { 予約受付中: 0, 貸出中: 1, 返却済: 2, 郵送中: 3 }
OrdersController
1 def update 2 order = Order.find(params[:id]) 3 order.update(order_params) 4 end 5 6 7 def order_params 8 params.require(:order).permit(:status, :get_status, :return_status, :address, :zipcode, :day, :start_date, :finish_date, :user_id, :pay_status, :giv_point, :pay_id, :lender, :receiver) 9 end
javascript
1 $('.update_button').click(function() { 2 var staff = $(this).data('admin-name'); 3 if($('.select_box').val() == "貸出中"){ 4 var q = document.createElement('input'); 5 q.type = 'hidden'; 6 q.name = "lender"; 7 q.value = staff; 8 document.forms[0].appendChild(q); 9 }else if($('.select_box').val() == "返却済"){ 10 var q = document.createElement('input'); 11 q.type = 'hidden'; 12 q.name = "receiver"; 13 q.value = staff; 14 document.forms[0].appendChild(q); 15 } 16 });
parameter
1Started PATCH "/admins/orders/66" for 10.0.2.2 at 2020-05-04 12:28:16 +0000 2Cannot render console from 10.0.2.2! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 3Processing by Admins::OrdersController#update as JS 4 Parameters: {"lender"=>"坂本", "utf8"=>"✓", "authenticity_token"=>"VaI8T/sEVxn+feGGH6qHf47BH4QRE8r96uGHIWJiKf8Ia3AJZVoejeI8KJdIm0zW7tud64ll5i+cvr5VZTQKjA==", "order"=>{"status"=>"貸出中", "pay_status"=>"false"}, "id"=>"66"} 5
参考記事はこちらです。
https://pgmemo.tokyo/data/archives/540.html
回答1件
あなたの回答
tips
プレビュー