【问题标题】:Javascript path in Ruby on RailsRuby on Rails 中的 Javascript 路径
【发布时间】:2016-08-11 20:28:00
【问题描述】:

我需要包含一个存储在文件夹 app/assets/plugins/ 中的插件 javascript 在 application.html.erb 中:

<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'

这个网址是正确的(我想)。那么这里有什么问题以及如何以正确的方式加载这个插件呢?

【问题讨论】:

    标签: javascript ruby-on-rails plugins


    【解决方案1】:

    这个问题的核心是/home/myapp/app/assets/plugins/pluginA/js/pluginA.js 不是 URL。这是一个文件系统路径。您的网络浏览器当前认为这是您的 Rails 应用程序中的一条路径(您应该能够在您的 Rails 应用程序的 development.log 中验证该路径的 404。

    最简单的解决方法可能是使用file:///home/myapp/app/assets/plugins/pluginA/js/pluginA.js,它一个URL。您不妨在开发过程中尝试一下。

    当您将此工作转移到暂存或生产时,这不可能会起作用,其他网络浏览器将访问该站点。您将需要学习如何将此插件集成到Rails asset pipeline。 (看起来需要您的脚本在 application.js 中,并且在该文件底部附近对其进行初始化可能是合适的,但如果没有更多知识,这很难说。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多