2016-08-11 4 views
0

мне нужно включить плагин Javascript, хранящийся в папке app/assets/plugins/ В application.html.erb:путь Javascript в Ruby On Rails

<script> var plugin_path = "<%= Rails.root.join("app", "assets", "plugins") %>";</script> 

<%= javascript_include_tag 'script' %> 

В script.js:

loadScript(plugin_path + '/pluginA/js/pluginA.js', function() { 

    Init(false); 

}); 

Когда я начинаю мой сервер и загрузить мою домашнюю страницу, на терминале отображается сообщение, подобное

[GET] не удается найти маршрут '/home/myapp/app/assets/plugins/pluginA/js/pluginA.js'

Этот URL правильно (я полагаю). Итак, в чем проблема и как правильно загрузить этот плагин?

ответ

0

Сердце этой проблемы состоит в том, что /home/myapp/app/assets/plugins/pluginA/js/pluginA.js не является URL-адресом. Это путь к файловой системе. Ваш веб-браузер в настоящее время считает, что это путь в приложении Rails (вы должны быть в состоянии проверить в вашем development.log 404 для вашего приложения Rails для этого пути.

Самое простое решение проблемы может быть использование file:///home/myapp/app/assets/plugins/pluginA/js/pluginA.js который является URL-адрес. Возможно, вы захотите попробовать это во время разработки.

Нет никаких шансов, что это будет работать, когда вы переместите эту работу на стадию или производство, где к сайту будут доступны другие веб-браузеры. Вам нужно будет узнать, как для интеграции этого плагина в Rails asset pipeline. (Похоже, что требуется ваш скрипт в application.js, и инициализация его в нижней части этого файла может быть уместной, но это трудно сказать без дополнительных знаний.)

Смежные вопросы