J’ai un serveur Rails où nginx achemine /
to /api
, et j’ai rails_admin gem installé. Je peux accéder au panneau d’administration sur /api/admin
, mais tous les modèles répertoriés sur la page d’administration sont liés à /admin/:model
. Je ne peux pas sembler trouver un moyen d’obtenir les liens vers /api/admin/:model
place.
J’ai défini ce qui suit dans application.rb
:
config.relative_url_root = "/api" config.action_controller.relative_url_root = "/api" ENV['RAILS_RELATIVE_URL_ROOT'] = "/api" ENV['ROOT_URL'] = "/api"
Mais les liens de la page d’administration n’ont pas changé.
Si je change routes.rb
pour avoir rails_admin sous un espace de nommage, le problème n’est pas résolu: la page admin devient api/api/admin
et les liens vont à api/admin/:model
, mais avec les routes il faut api/api/admin/:model
place.
Comment puis-je réparer cela?
MISE À JOUR: Cette réponse peut vous aider si vous voulez réellement append /api
pour l’application rails entiers, pas seulement rails_admin.
Vous n’avez pas besoin de ces configurations dans votre application.rb
pour cela. Lisez ce document: https://www.phusionpassenger.com/library/deploy/nginx/deploy/ruby/
Voici l’exemple de mes configs:
server { listen 80 default_server; server_name www.mydomain.com; root /var/www/AppName/current/client/dist; error_page 404 =200 /index.html; location ~ ^/api(/.*|$) { alias /var/www/AppName/current/public$1; # <-- be sure to point to 'public'! passenger_base_uri /api; passenger_app_root /var/www/AppName/current; passenger_document_root /var/www/AppName/current/public; passenger_enabled on; passenger_app_env production; } }
PS voici l'explication de error_page 404 =200 /index.html;
- Le routeur Angular 2.0 ne fonctionne pas sur le rechargement du navigateur