前提
google map apiを使い駐車場を貸し借りするアプリを作成しています。
検索ワード周辺の駐車場を検索する機能を下記のように動作するように実装しました。
- 検索ワードをフォームからコントローラに送信
- コントローラでデータベースから検索ワードに近い駐車場(住所)検索
- 検索に該当した駐車場をビューで表示
apiの設定でhttpリファラー制限をかけると
上記3で表示されるべき駐車場の情報が取得できません
制限を無しにすると、駐車場の情報を表示し
問題なく動作します。
実現したいこと
httpリファラー制限をかけた状態で正常に動作させたい
発生している問題・エラーメッセージ
同じメッセージが2回連続で表示されます
Google API error: request denied (API keys with referer restrictions cannot be used with this API.). Google API error: request denied (API keys with referer restrictions cannot be used with this API.).
該当のソースコード
入力フォームをapplication.html.hamlに記述→searchアクションにsearch_wordを送る
haml
1= form_with url: search_parks_path, method: :get, local: true do |f| 2 = f.search_field :search_word 3 = f.submit "検索", class: "btn btn-light", name: "search-commit", id: "search-btn"
parkコントローラのsearchアクション記述
ruby
1 def search 2 @search = params[:search_word] 3 @search_geo = Geocoder.coordinates(@search) 4 if user_signed_in? 5 @parks = Park.where.not(user_id: current_user.id).where(rending_stop: false).where('end_time > ?', Time.now).near(@search, 6 0.4) 7 gon.parks = @parks 8 else 9 @parks = Park.where(rending_stop: false).where('end_time > ?', Time.now).near(@search, 0.4) 10 gon.parks = @parks 11 end 12 end
試したこと
・httpリファラーを検索ワードを含めたアドレスに変更して動作確認をした
→それでも正常に動作しない
変更前:https//:アドレス.com/*
変更後:https//:アドレス.com/?search_word=検索ワード&search-commit=検索
補足情報(FW/ツールのバージョンなど)
ruby 2.6.5
Rails 6.0.3.5
回答1件
あなたの回答
tips
プレビュー