質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails 5

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

解決済

1回答

798閲覧

ajaxでVM7681:2 Uncaught SyntaxError: missing ) after argument listが出る

umakichi

総合スコア44

Ruby on Rails 5

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

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2022/03/15 22:53

編集2022/03/16 11:00

ruby on rails で ajaxを使って、いいねボタンを作成しようとしているのですが、検証ツールで確認すると以下のようなエラーが出ます。

VM7681:2 Uncaught SyntaxError: missing ) after argument list
at processResponse (rails-ujs.js:283:1)
at rails-ujs.js:196:1
at XMLHttpRequest.xhr.onreadystatechange (rails-ujs.js:264:1)
processResponse @ rails-ujs.js:283
(anonymous) @ rails-ujs.js:196
xhr.onreadystatechange @ rails-ujs.js:264
XMLHttpRequest.send (async)
XMLHttpRequest.send @ includes.js?v=35a79b…8cb59af0b05e059:839
./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js.Rails.ajax @ rails-ujs.js:216
./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js.Rails.handleRemote @ rails-ujs.js:652
(anonymous)

SyntaxError: missing ) after argument listは
「関数の呼び出し方にエラーがあります。たとえば、入力ミスや演算子の記述忘れ、文字列のエスケープ忘れの可能性が考えられます。」
との事なので、自分のコードを色々調べたのですが、問題箇所が分かりません。どこか教えていただけると助かります。

また、気になる箇所がありまして、
イメージ説明
このようにコードを打った際に、

alert('いいねが出来ている');
window.addEventListener('DOMContentLoaded', ('#likes_buttons_

の部分が白いまま表示されるのですが、これま何か読み込めてないと言う事なのでしょうか?

likes/destroy.js.erb

1alert('いいねが出来ている'); 2window.addEventListener('DOMContentLoaded', ('#likes_buttons_<%= @dogrun.id %>').html("<%= j(render partial: 'likes/like', locals: {dogrun: @post}) %>");

likes/create.js.erb

1alert('いいねを解除している'); 2window.addEventListener('DOMContentLoaded', ('#likes_buttons_<%= @dogrun.id %>').html("<%= j(render partial: 'likes/like', locals: {post: @dogrun}) %>"); 3

likes/_like.html.erb

1 2 3<% if user_signed_in? %> 4 <% if current_user.liked_by?(@dogrun.id) %> 5 <td> 6 <%= link_to destroy_like_path(@dogrun), method: :DELETE, remote: true do %> 7 <i class="fa fa-heart unlike-btn"></i> 8 <% end %> 9 <%= @dogrun.likes.count %> 10 </td> 11 <% else %> 12 <td> 13 <%= link_to create_like_path(@dogrun), method: :POST, remote: true do %> 14 <i class="fa fa-heart like-btn"></i> 15 <% end %> 16 <%= @dogrun.likes.count %> 17 </td> 18 <% end %> 19<% end %> 20

show.html.erb

12<div id="likes_buttons_<%= @dogrun.id %>"> 3 <%= render partial: 'likes/like', locals: {dogrun: @dogrun} %> 4 </div>

likes_controller

1class LikesController < ApplicationController 2 before_action :dogrun_params 3 def create 4 Like.create(user_id: current_user.id, dogrun_id: params[:id]) 5 end 6 7 def destroy 8 Like.find_by(user_id: current_user.id, dogrun_id: params[:id]).destroy 9 end 10 11 private 12 13 def dogrun_params 14 @dogrun = Dogrun.find(params[:id]) 15 end 16end 17

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

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

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

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

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

y_waiwai

2022/03/15 23:58

コードを提示しよう
guest

回答1

0

自己解決

missing ) after argumentで)の数があっていないことがわかりました。お騒がせしました。

投稿2022/03/16 02:00

umakichi

総合スコア44

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問