#JQueryを使ってフォームを呼び出すことで、非同期で編集できるようにしたいです。
statusという、状態を判断するカラムをsubmidだけで変更しようと思い、フォームをjqueryを使い呼び出すことには成功したのですが、編集の保存に成功しませんでした。
以下のように、記述をして、localhost::3000 で更新を押して、Seqele Proを確認したところ何も変化がありませんでした。
updateの記述がダメなのでしょうか?
拙い質問でもうしわけないのですが、回答いただけるとありがたいです。
ruby
1#index.html.erb トップページ 2<%= link_to '診察状態の変更', edit_examination_path(@now.id), method: :get, remote: true %> 3 <div id="test-edit"></div>
ruby
1#_edit.html.erb フォーム 2<%= form_with modle: @examination, method: :get do |form|%> 3<%= form.hidden_field :status , value: "1", :readonly => true %> 4<%= form.submit "変更" ,class:"red-btn" %> 5<%end%>
javascript
1#_edit.js.erb 2$('#test-edit').html("<%= escape_javascript(render 'edit') %>");
controller
1 def index 2 @now = Examination.find_by(status: 0) 3 end 4 5 def edit 6 @examination = Examination.find(params[:id]) 7 end 8 9 def update 10 examination = Examination.find(params[:id]) 11 examination.update(examination_params) 12 end 13 14 private 15 def examination_params 16 params.require(:examination).permit(:id, :patient_name, :number, :status) 17 end
ボタンを押した時のターミナルは以下になります
Started GET "/examinations/1/edit?status=1&commit=%E5%A4%89%E6%9B%B4" for ::1 at 2020-10-14 14:17:06 +0900 Processing by ExaminationsController#edit as JS Parameters: {"status"=>"1", "commit"=>"変更", "id"=>"1"} Examination Load (0.6ms) SELECT `examinations`.* FROM `examinations` WHERE `examinations`.`id` = 1 LIMIT 1 ↳ app/controllers/examinations_controller.rb:28:in `edit' Rendering examinations/edit.js.erb Rendered examinations/_edit.html.erb (Duration: 0.8ms | Allocations: 790) Rendered examinations/edit.js.erb (Duration: 1.2ms | Allocations: 901) Completed 200 OK in 5ms (Views: 1.9ms | ActiveRecord: 0.6ms | Allocations: 2369)
よろしくお願いします。
あなたの回答
tips
プレビュー