2014-07-15 4 views
0

J'utilise actuellement le google_places gem pour essayer d'accéder à l'API des lieux. J'utilise le code suivant pour obtenir des résultats:Constante non initialisée GooglePlaces

class PlacesController < ApplicationController 
    def index 
    if params[:search] 
     @client = ::GooglePlaces::Client.new(Rails.application.secrets.places_api_key) 
     @places = @client.spots_by_query(params[:search]) 
    end 
    end 
end 

Je suis en cours d'exécution dans une erreur de uninitialized constant GooglePlaces, qui est remplacé par PlacesController::GooglePlaces si je ne suis pas portée sur. Je crois que c'est une question de cadrage, mais rien de ce que j'ai essayé ne résout le problème. Je suis les instructions dans le readme du repo et en supposant que je ne dois pas inclure la source dans le répertoire lib de mon site. Je peux utiliser la gemme correctement à partir de la console des rails.

Répondre

1

Pour utiliser cette API dans l'application de rails, vous devez utiliser gemme google_places.

ajouter dans le fichier de pierres précieuses et exécuter paquet installer et redémarrer le serveur une fois

Gem 'google_places de

Suivant Créer un projet dans la console Google et générer la clé secrète.

https://code.google.com/apis/console

https://developers.google.com/places/documentation/

restart Enfin, le serveur

+0

Wow, je ne pensais même pas à redémarrer le serveur que je ne doit généralement pas dans le développement. Cela a réglé le problème. Merci! – danielunderwood

+0

après tout changement dans le fichier de configuration, nous devons redémarrer le serveur – Shiva

0

Les docs dit que l'appel API auth doit être:

@client = GooglePlaces::Client.new(Rails.application.secrets.places_api_key)