2015-12-15 1 views
1

J'utilise http://getuikit.com/docs/autocomplete.html comme cadre et j'essaie de faire fonctionner la fonction de saisie semi-automatique. countries.json est à l'intérieur dossier public, mais l'application ne peut pas charger quand je commence à taper pays que j'ai erreur:charger le fichier .json dans les rails

Failed to load resource: the server responded with a status of 404 (Not Found) 

mais lien existe et travaille bien quand je tente de l'appeler par le navigateur.

<div class="uk-autocomplete uk-form" data-uk-autocomplete="{source:'countries.json'}"> 
    <input type="text"> 
</div> 

enter image description here

fichier distant est ok: http://powerful-reaches-2807.herokuapp.com/countries.json

console chrome show 404 mais vous pouvez normalement cliquer sur le lien et l'ouvrir

enter image description here

+0

Vous voyez .. il y a une erreur avec votre routage. Montrez-nous votre contrôleur où le pays.json est créé. – Guido

+0

je n'ai rien dans le contrôleur. ** countries.json ** est juste un fichier normal ici est le code: https://github.com/ponciusz/x-company – Ponciusz

Répondre

0

Essayez cette

<div class="uk-autocomplete uk-form" data-uk-autocomplete="{source:'http://localhost:3000/countries.json'}"> 

Est-ce sur votre serveur local?

Si cela fonctionne, vous devez utiliser le chemin vers quelque chose de countries.json comme:

<div class="uk-autocomplete uk-form" data-uk-autocomplete="{source:'<%= path_to_countries_json %>'}"> 

+0

oui local et Heroku ne fonctionne pas j'ai cette erreur: ** ActionController :: RoutingError (Aucun itinéraire ne correspond [POST] "/countries.json"):** – Ponciusz

+0

Je vois. Si cela fonctionne localement, ajoutez la ligne suivante dans votre application/config/environments/production.rb config.serve_static_assets = true – Guido

+0

ne fonctionne pas localement et à distance – Ponciusz

0

Le problème n'est pas countries.json existence, c'est parce que la bibliothèque a demandé un POST demande (basé sur votre journal de rails). Vous ne pouvez atteindre vos fichiers qu'avec la méthode GET par défaut.

Il y a deux options pour vous de surmonter ce problème:

  1. Ajouter un itinéraire pour que vous puissiez atteindre countries.json par requête POST. (Non recommandé)
  2. Déterminez pourquoi et comment votre bibliothèque a utilisé la requête POST et en faire un GET.