🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

999閲覧

indexデータの一括更新を行うプログラムでjavascriptが起動しない

KOO_

総合スコア58

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/01/29 02:33

こんにちは。現在indexデータの一括更新を行うプログラムを組んでおります。

内容としてはindexにチェックボックスを付け、チェックをつけたものを一括で更新する設定となりますが、更新ボタンをクリックしてもjavascriptが起動しません。

現在止まっている点はgoogleで確認したところ、以下の点となります。

Uncaught SyntaxError: Unexpected end of input rails-ujs.self-8944eaf3f9a2615ce7c830a810ed630e296633063af8bb7441d5702fbe3ea597.js?body=1:189 GET http://localhost:3000/customers/bulk_edit 404 (Not Found) Rails.ajax @ rails-ujs.self-8944eaf3f9a2615ce7c830a810ed630e296633063af8bb7441d5702fbe3ea597.js?body=1:189 Rails.handleRemote @ rails-ujs.self-8944eaf3f9a2615ce7c830a810ed630e296633063af8bb7441d5702fbe3ea597.js?body=1:544 (anonymous) @ rails-ujs.self-8944eaf3f9a2615ce7c830a810ed630e296633063af8bb7441d5702fbe3ea597.js?body=1:146 rails-ujs.self-8944eaf3f9a2615ce7c830a810ed630e296633063af8bb7441d5702fbe3ea597.js?body=1:189 XHR failed loading: GET "http://localhost:3000/customers/bulk_edit". Rails.ajax @ rails-ujs.self-8944eaf3f9a2615ce7c830a810ed630e296633063af8bb7441d5702fbe3ea597.js?body=1:189 Rails.handleRemote @ rails-ujs.self-8944eaf3f9a2615ce7c830a810ed630e296633063af8bb7441d5702fbe3ea597.js?body=1:544 (anonymous) @ rails-ujs.self-8944eaf3f9a2615ce7c830a810ed630e296633063af8bb7441d5702fbe3ea597.js?body=1:146 5extraction:58 Uncaught ReferenceError: gon is not defined at currenttime (extraction:58)

また、その他該当のプログラムは以下です。

route

1 get 'customers/bulk_edit' 2 put 'customers/bulk_update'

controller

1 def bulk_edit 2 @ids = params[:ids] 3 end 4 5 def bulk_update 6 @ids = params[:ids].split(" ") 7 @ids.each do |id| 8 c = Customer.find(id.to_i) 9 c.update_attributes( 10 status: params[:status] 11 ) 12 end 13 redirect_to request.referer 14 end 15

index

1 = link_to '一括更新', customers_bulk_edit_path, remote: true,id: "customer-uploads-link", class: 'command' 2

javascript

1 id_checkes = function(ele){ 2 ids = $("input[type='checkbox'].customer-checkbox").filter(":checked").map(function(){ 3 return $(this).attr("id"); 4 }).get(); 5 $("#customer-destroy-link").attr("href", "/companies/bulk_destroy?" + $.param({"ids":ids})); 6 mails = $("input[type='checkbox'].customer-checkbox").filter(":checked").map(function(){ 7 return $(this).data()["email"]; 8 }).get(); 9 var params = $("#customer-mail-link").attr("href").split("?")[1] 10 $("#customer-mail-link").attr("href", "mailto:" + mails.join(",") + "?" + params); 11 // $("#customer-mail-link").attr("href", "/companies/mail?" + $.param({"mails":mails})); 12 comment_ids = $("input[type='checkbox'].customer-checkbox").filter(":checked").map(function(){ 13 return $(this).data()["commentId"]; 14 }).get(); 15 $("#comment-destroy-link").attr("href", "/comments/bulk_destroy?" + $.param({"ids":comment_ids})); 16 $("#comment-uploads-link").attr("href", "/comments/bulk_edit?" + $.param({"ids":comment_ids})); 17 18 19 } 20 21 22 $(document).on('turbolinks:load', function(event) { 23 //$(document).on('ready', function(event) { 24 //customer/:id 25 $(document).on("click", ".edit-link-show", function () { 26 data = $(this).data() 27 $("#" + data.v + "-show").addClass("none") 28 $("#" + data.v + "-c-input-field").removeClass("none") 29 }); 30 $(".c-input-field").keypress( function ( e ) { 31 if ( e.which == 13 ) { 32 x = $('#customer-show-update').submit(); 33 } 34 } ); 35 $(".c-input-field2").keypress( function ( e ) { 36 if ( e.which == 13 ) { 37 x = $('#customer-show-update2').submit(); 38 } 39 } ); 40 $(document).on("keypress", ".t-input-field", function (e) { 41 if ( e.which == 13 ) { 42 x = $('#todo-show-update').submit(); 43 } 44 }); 45 $(document).on("click", ".comment-edit", function () { 46 data = $(this).data() 47 $("#" + data.id + "-comment-body").toggle(); 48 $("#" + data.id + "-comment-edit-field").toggle(); 49 }) 50 51 $(document).on("click", ".comment-edit-detail", function () { 52 data = $(this).data() 53 $("#" + data.id + "-comment-edit-detail-field").toggle(); 54 }) 55 56 $(document).on("change", "#form-bulk-edit", function () { 57 $(".form-bulk-edit-input").addClass("none") 58 v = $(this).val() 59 $("#form-" + v).removeClass("none") 60 }) 61 62 63 64 $("#customer-index-table").tablesorter(); 65 $(".customer-checkbox").change(function(){ 66 id_checkes() 67 }); 68 $(".all-customer-checkbox").click(function(){ 69 $('.admin-checkbox').prop('checked', this.checked); 70 id_checkes() 71 }); 72

以上、ご教示よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

$(document).on('turbolinks:load', function(event) {

これを閉じる});がなくて動かないんじゃないでしょうか。

投稿2021/01/30 15:27

schindler

総合スコア112

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問