【问题标题】:Ruby on Rails & JavascriptRuby on Rails 和 Javascript
【发布时间】:2011-08-29 18:05:27
【问题描述】:

我对 Ruby on Rails 还很陌生,我计划在我的应用程序中使用大量的 javascript。我做了一些研究,但我找不到这个问题的答案:

由于您可以在所有视图中放置简单的 html(例如 index.html.erb),因此我假设视图基本上充当普通的 html 网页,因此您应该能够做所有事情您可以使用普通的 html 网页。例如,只要您包含正确的文档类型并像在任何其他 html 网页中一样为库的源代码提供标签,就可以从您喜欢的任何库中将 javascript 放入其中。 这是正确的还是我忽略了一个问题?

因为我在互联网上发现了很多关于如何将 RoR 与任何 javascript 库一起使用并不那么简单,并且您必须采取特殊步骤等等......

如果有人能为我阐明这一点,我将不胜感激。 谢谢!

【问题讨论】:

    标签: javascript html ruby-on-rails ruby


    【解决方案1】:

    只需将您的 javascript 文件的源位置指向您的 layout/application.html.erb 文件即可。

    例如:<%= javascript_include_tag :defaults %>.

    这将加载您的 public/javascripts/ 目录中存在的所有 javascript 文件。

    如果您需要更具体,也可以将每个文件用简单的逗号分隔,如下所示:

    <%= javascript_include_tag 'jquery.js', 'application.js', 'jquery_ujs.js','jquery-ui-1.8.15.custom.min.js' %>

    将所有 javascript 代码放在该目录内的文件中是一种更好的方法。

    如果是一般用途,您可以将代码放在public/javascripts/application.jsfile 中。

    希望对你有帮助!

    【讨论】:

    • 非常感谢。但我仍然想知道是否可以将视图视为您正在处理的常规 html 文件?另外,如果我使用您描述的方法,访问 javascript 方法的语法是什么?
    • 是的,可以像对待普通 html 文件一样对待视图,您可以毫无问题地将 javascript 放在那里。访问 javascript 方法的语法是什么意思?例如,一旦你在 application.js 文件上,它就是纯 JavaScript。
    【解决方案2】:

    在 Rails 3.1 中,资产管道的使用改变了 javascript 的集成方式。 JS 文件不再需要复制到public/javascripts 目录中,而是作为外部 Gem 安装。一个很好的例子是pjax_rails gem。如果您将它添加到您的 Gemfile,您将能够将 pjax javascript 包含到您的应用程序布局中,而无需运行任何 rake 任务将其复制到您的 public 目录。

    这有助于保持public 目录的清洁,并且可以更轻松地更换不同的 JS 库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      • 1970-01-01
      • 2012-07-07
      • 2016-03-10
      • 1970-01-01
      • 2018-01-20
      • 2017-04-24
      相关资源
      最近更新 更多