質問編集履歴
2
参考記事の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -66,4 +66,7 @@
|
|
66
66
|
Processing by Admins::OrdersController#update as JS
|
67
67
|
Parameters: {"lender"=>"坂本", "utf8"=>"✓", "authenticity_token"=>"VaI8T/sEVxn+feGGH6qHf47BH4QRE8r96uGHIWJiKf8Ia3AJZVoejeI8KJdIm0zW7tud64ll5i+cvr5VZTQKjA==", "order"=>{"status"=>"貸出中", "pay_status"=>"false"}, "id"=>"66"}
|
68
68
|
|
69
|
-
```
|
69
|
+
```
|
70
|
+
|
71
|
+
参考記事はこちらです。
|
72
|
+
https://pgmemo.tokyo/data/archives/540.html
|
1
コードの表示方法
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
javascript hidden 送信 parameter
|
1
|
+
javascript hidden 送信 parameter ruby on rails
|
body
CHANGED
@@ -1,10 +1,69 @@
|
|
1
1
|
<概要>
|
2
|
-
javascriptで取得したデータをhiddenでデー
|
2
|
+
javascriptで取得したデータをhiddenでデータベースに保存するために、動的にhiddendで送られるようにできました.
|
3
|
+
そこで質問です。parameterのなかの、"lender"=>"坂本"を "order"=>{"status"=>"貸出中", "pay_status"=>"false"}, "id"=>"66"}のハッシュのなかに入れたいのです。
|
4
|
+
私の考えでは、javascriptのq.nameの部分に、入るように記述を書けばいいのかと思っていおります。
|
5
|
+
それか、strong parameterに何かしらの手を加えればいいのでしょうか?教えてください。よろしくお願いします。
|
3
6
|
|
4
|
-
以下のように記述して送ることができました。
|
5
|
-

|
6
7
|
|
7
|
-
送られてくるparameterの中身は以下のようになります。
|
8
|
-

|
9
8
|
|
10
|
-
|
9
|
+
|
10
|
+
|
11
|
+
```html
|
12
|
+
<%= form_with model:@order,url:admins_order_path(@order) do |f| %>
|
13
|
+
<tr>
|
14
|
+
<th>貸し出し返却ステータス</th>
|
15
|
+
<td width="300">
|
16
|
+
<% unless @order.status == "返却済" %>
|
17
|
+
<%= f.select :status, Order.statuses.keys.to_a, {}, class: "select_box" %>
|
18
|
+
<%= f.submit '更新',class: "btn btn-info update_button",'data-admin-name': current_admin.name %>
|
19
|
+
<% else %>
|
20
|
+
<%= @order.status %>
|
21
|
+
<% end %>
|
22
|
+
</td>
|
23
|
+
</tr>
|
24
|
+
<% end %>
|
25
|
+
```
|
26
|
+
|
27
|
+
```OrderModel
|
28
|
+
enum status: { 予約受付中: 0, 貸出中: 1, 返却済: 2, 郵送中: 3 }
|
29
|
+
```
|
30
|
+
|
31
|
+
```OrdersController
|
32
|
+
def update
|
33
|
+
order = Order.find(params[:id])
|
34
|
+
order.update(order_params)
|
35
|
+
end
|
36
|
+
|
37
|
+
|
38
|
+
def order_params
|
39
|
+
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)
|
40
|
+
end
|
41
|
+
```
|
42
|
+
|
43
|
+
|
44
|
+
```javascript
|
45
|
+
$('.update_button').click(function() {
|
46
|
+
var staff = $(this).data('admin-name');
|
47
|
+
if($('.select_box').val() == "貸出中"){
|
48
|
+
var q = document.createElement('input');
|
49
|
+
q.type = 'hidden';
|
50
|
+
q.name = "lender";
|
51
|
+
q.value = staff;
|
52
|
+
document.forms[0].appendChild(q);
|
53
|
+
}else if($('.select_box').val() == "返却済"){
|
54
|
+
var q = document.createElement('input');
|
55
|
+
q.type = 'hidden';
|
56
|
+
q.name = "receiver";
|
57
|
+
q.value = staff;
|
58
|
+
document.forms[0].appendChild(q);
|
59
|
+
}
|
60
|
+
});
|
61
|
+
```
|
62
|
+
|
63
|
+
```parameter
|
64
|
+
Started PATCH "/admins/orders/66" for 10.0.2.2 at 2020-05-04 12:28:16 +0000
|
65
|
+
Cannot render console from 10.0.2.2! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255
|
66
|
+
Processing by Admins::OrdersController#update as JS
|
67
|
+
Parameters: {"lender"=>"坂本", "utf8"=>"✓", "authenticity_token"=>"VaI8T/sEVxn+feGGH6qHf47BH4QRE8r96uGHIWJiKf8Ia3AJZVoejeI8KJdIm0zW7tud64ll5i+cvr5VZTQKjA==", "order"=>{"status"=>"貸出中", "pay_status"=>"false"}, "id"=>"66"}
|
68
|
+
|
69
|
+
```
|