teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

質問内容の修正

2021/04/23 00:23

投稿

kimch
kimch

スコア8

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,14 @@
1
- #解決したいこと
1
+ #前提・実現したいこと
2
- railsで、ブラウザから選択肢一つ選択、更新かけることでDBの情報を一部のみ更新たい
2
+ railsを使用てアプリ作成ております
3
+ 現在、ブラウザ上でプルダウンリストから選択肢を選ぶようにしているのですが、選択した情報をDB(applied_worksテーブル)のstatusカラムにAjax通信を利用して更新させたいと考えております。
3
4
 
4
- #コード
5
5
 
6
+ #発生している問題・エラーメッセージ
7
+
8
+ ブラウザ上で選択した情報(選択肢)(app/views/applied_works_index.html.erb)をコントローラー(applied_works_controller.rb)で取得し、updateアクションでDBのstatusカラムのみをupdate_attributeにて更新させようとしていたのですが、`どのようにブラウザ上で選択された情報のみ(status)を抽出するのか?` `現状ではform_withを使用しようとしているが、果たしてform_withで実現できるのか、他の手段をとったほうが良いのか`わからず質問させていただきました。
9
+
10
+
11
+ #該当するコード
6
12
  ```ruby:index.html.erb
7
13
  index.html.erb
8
14
  <%= render "shared/header" %>
@@ -28,9 +34,9 @@
28
34
  <td><%= appliedwork.student.birthday %></td>
29
35
  <td><%= appliedwork.student.year %></td>
30
36
  <td><%= link_to "移動する", student_path(id:appliedwork.student.id) %></td>
31
- <%= form_with do |f| %>
37
+ <%= form_with do |f| %> #←ここからが該当のコードです。
32
38
  <td align ="center"><%= f.select :status, [["未対応", 1], ["採用予定", 2], ["お見送り",3], ["交渉中",4], ["口コミ待ち",5], ["終了",6]] %></td>
33
- <td><%= f.submit "更新"%></td>
39
+ <td><%= f.submit "更新"%></td>#←ここまでが該当のコードです。
34
40
  <% end %>
35
41
  </tr>
36
42
  </table>
@@ -71,7 +77,12 @@
71
77
 
72
78
  #試したこと
73
79
  `index.html.erb`にて、form_withのAjaxにてDBの情報を更新しようとしたが、DBに新しく情報が追加されてしまった。
74
- このことから、選択する情報の`status`のみの情報だけを抽出して`update`アクションで更新をかければ新しくデータが追加されることはないのではと考えたが、ブラウザ上で選択した情報を抽出することができなかった。
80
+ このことから、選択する情報の`statusカラム`のみの情報だけを抽出して`update`アクションで更新をかければ新しくデータが追加されることはないのではと考えたが、ブラウザ上で選択した情報を抽出することができなかった。
81
+
82
+ #問題の発生した環境
83
+ ruby :2.6.5
84
+ rails :6.0.3.5
85
+
75
86
  #最後に
76
87
  自身の実力不足にて質問させていただきます。
77
88
  皆様のお力をお借りできたら幸いです。