2017-02-20 10 views
0

Je tente de déployer une application rails sur un serveur Apache. Je tente d'accéder jquery dans l'application du dossier de l'actif avec:Actifs interdits sur le serveur de production Rails

<script src="/assets/jquery.js" type="text/javascript"></script> 

Je tente également de charger un script personnalisé avec un javascript_include_tag. Comme je regarde dans la console javascript de mon navigateur web, je vois que le serveur répond avec un code d'erreur interdit 403 en essayant d'accéder à ces scripts.

J'ai tenté de chmod 775 mon/var/www // dossier public/assets mais cela n'a pas résolu le problème. J'ai essayé les deux actifs rake en cours d'exécution: précompiler et modifier le fichier production.rb pour servir les fichiers statiques et définir config.assets.compile sur true.

+0

Cela fonctionne parce que vous avez remplacé l'application permettre le "repli du pipeline d'actifs si un actif précompilé est manqué" Cela vous indique que même si vous avez précompilé des ressources, quelque chose d'autre dans la configuration de votre application est incorrect. Le faire de cette façon et en le surchargeant ne fait que masquer les symptômes et plus que probable, cela causera plus de problèmes à mesure que vous avancerez. Sans parler des implications de sécurité. Je vous suggère de regarder dans votre config/initializers/assets.rb et de vous assurer que tout est correctement configuré là aussi si vous utilisez les rails 5. –

Répondre

0

Je ne sais pas pourquoi cela fonctionne, mais je couru

rm -rf public/assets 

dans mon répertoire d'applications et a changé ma production.rb afin que

config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? 
config.assets.compile = true 
0

Assurez-vous que le fichier /config/environments/production.rb est activé.

+0

est déjà activé – genghiskhan

+0

Essayez de supprimer le/du début de l'attribut src " assets/jquery.js ". J'ai vu en fonction de la configuration d'une application rails le/au début casse certaines choses. –