From 89a9b8b1c6182b0387ba8c1824d98dee0abe5159 Mon Sep 17 00:00:00 2001 From: Akira Matsuda Date: Sat, 8 Mar 2025 12:51:29 +0900 Subject: [PATCH] Use field name instead of id for parse_edit_field because id won't be unique when having collection inputs like radio_buttons/checkboxes --- app/assets/javascripts/proposal.js | 2 +- app/controllers/proposals_controller.rb | 2 +- app/views/proposals/_contents.html.haml | 6 +++--- app/views/proposals/parse_edit_field.js.erb | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/proposal.js b/app/assets/javascripts/proposal.js index 7d038b690..5376fa9df 100644 --- a/app/assets/javascripts/proposal.js +++ b/app/assets/javascripts/proposal.js @@ -5,7 +5,7 @@ $(function() { $('.watched').blur(function() { $.ajax({ data: { - id: this.id, + name: this.name, text: $(this).val() }, url: url diff --git a/app/controllers/proposals_controller.rb b/app/controllers/proposals_controller.rb index c7e827d65..3f390c0c4 100644 --- a/app/controllers/proposals_controller.rb +++ b/app/controllers/proposals_controller.rb @@ -131,7 +131,7 @@ def parse_edit_field respond_to do |format| format.js do render locals: { - field_id: params[:id], + field_name: params[:name], text: markdown(params[:text]) } end diff --git a/app/views/proposals/_contents.html.haml b/app/views/proposals/_contents.html.haml index e847dc688..b5efc4a0a 100644 --- a/app/views/proposals/_contents.html.haml +++ b/app/views/proposals/_contents.html.haml @@ -1,18 +1,18 @@ .proposal-section %h3.control-label Abstract - .markdown{ data: { 'field-id' => 'proposal_abstract' } } + .markdown{ data: { 'field-name' => 'proposal[abstract]' } } = proposal.abstract_markdown %h2.fieldset-legend For Review Committee .proposal-section %h3.control-label Details - .markdown{ data: { 'field-id' => 'proposal_details' } } + .markdown{ data: { 'field-name' => 'proposal[details]' } } = proposal.details_markdown .proposal-section %h3.control-label Pitch - .markdown{ data: { 'field-id' => 'proposal_pitch' } } + .markdown{ data: { 'field-name' => 'proposal[pitch]' } } =proposal.pitch_markdown - if proposal.custom_fields.any? diff --git a/app/views/proposals/parse_edit_field.js.erb b/app/views/proposals/parse_edit_field.js.erb index be1fc62de..de4919f7e 100644 --- a/app/views/proposals/parse_edit_field.js.erb +++ b/app/views/proposals/parse_edit_field.js.erb @@ -1 +1 @@ -$('[data-field-id=<%= field_id %>]')[0].innerHTML = '<%=j text %>'; +$('[data-field-name="<%= field_name %>"]')[0].innerHTML = '<%=j text %>';