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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

623閲覧

インクリメンタルサーチのURLを指定してもコンソール上で失敗と表示される

suguru060305

総合スコア2

Ruby on Rails

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/07/31 16:24

前提・実現したいこと

DBで保存した内容をインクリメンタルサーチを使い表示したいのですが、インクリメンタルサーチ実装時のajaxでurlを指定する際、rails routesで確認し該当するパスを打ち込んでも404のエラーがコンソール上で表記されるのでこの問題を解決したい。

発生している問題・エラーメッセージ

jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js? body=1:10255 GET http://localhost:3000/groups/1/prices/api/prices?keyword= 404 (Not Found) body=1:18 失敗です と検証のコンソール上に表記される。

該当のソースコード

assets/javascripts/module/prices.js

jquery

1$(function(){ 2 $(function() { 3 $(".search__field").on("keyup", function() { 4 let input = $(".search__field").val(); 5 $.ajax({ 6 type: "GET", 7 url: "api/prices", 8 data: { keyword: input }, 9 dataType: "json" 10 }) 11 .done(function(prices) { 12 console.log("成功です"); 13 }) 14 .fail(function() { 15 console.log("失敗です"); 16 }); 17 }); 18 }); 19}); 20

app/views/prices/new.html.haml

haml

1.price 2 = form_with model: [@group, @price], local: true do |f| 3 .price__form 4 = f.label :品名 5 = f.text_field :name 6 = f.label :値段(税込み、半角英数字) 7 = f.text_field :number 89 = f.submit "登録" 10.sarch 11 %input.search__field{placeholder: "検索したい品物", type: "text"} 12 #search__result

コントローラー(controllers/api/prices_controller.rb)

class Api::PricesController < ApplicationController def index respond_to do |format| format.html format.json end end

ルーティング

Rails.application.routes.draw do devise_for :users root "groups#index" resources :users, only: [:index, :edit, :update] resources :groups, only: [:new, :create, :edit, :update] do resources :prices, only: [:index, :new, :create] namespace :api do resources :prices, only: :index, defaults: { format: 'json' } end resources :messages, only: [:index, :create] namespace :api do resources :messages, only: :index, defaults: { format: 'json' } end end end

試したこと

urlの表記の仕方をいろいろ試したんですが同じ結果でした。またajax前のイベント発火の際はうまく読み取れていました。

rails routesの結果
group_api_prices GET /groups/:group_id/api/prices(.:format)      api/prices#index {:format=>"json"}

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

投稿2020/08/01 09:04

winterboum

総合スコア23340

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

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

suguru060305

2020/08/01 10:11

コメントありがとうございます!! 実際に試してみたのですが、同じエラーが出てしまいました...。 検索欄があるurlは http://localhost:3000/groups/1/prices/newでグループごとのidを持たせています。 ここに検索結果を表示したいのですが、idを持っているのがうまくいかない要因でしょうか?? またpriceに関わるrails routesは、以下のようになっています。 ``` group_prices GET /groups/:group_id/prices(.:format)    prices#index POST /groups/:group_id/prices(.:format)    prices#create new_group_price GET /groups/:group_id/prices/new(.:format)    prices#new group_api_prices GET /groups/:group_id/api/prices(.:format)    api/prices#index {:format=>"json"} ``` また必要な情報があれば返信しますので、 もしご検討頂けるのであればお力をもう少し貸して頂きたいです。
suguru060305

2020/08/01 10:57

失礼しました。 今はgroups/1/pricesのパスだけなくなり、以下のように表示されます。 jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:10255 GET http://localhost:3000/api/prices?keyword=o 404 (Not Found)
winterboum

2020/08/01 11:04

ああ。routes見てください。 url: "/groups/api/prices" ですね。
suguru060305

2020/08/01 13:05

ご協力いただいたおかげで全体を見直したところ、複数の箇所で記述ミスがあり、修正したところ無事成功に変わりました。 ご協力いただいたおかげで、エラー解決に繋がりました。 本当にありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問