2011-08-29 147 views
3

我对Ruby on Rails相当陌生,并且计划在我的应用程序中使用相当数量的javascript。我已经做了一些研究,但我无法找到这个问题的答案:Ruby on Rails&Javascript

既然你可以把简单的HTML在所有的意见(例如index.html.erb)我是在假设这些视图基本上是一个普通的html网页,因此您应该能够使用普通的html网页来完成您所能做的一切。例如,将javascript放在任何你喜欢的库中,只要你包含正确的文档类型并为源提供标签,就像在任何其他html网页中一样。 这是正确的还是有一个我忽略的渔获?

,因为我发现在互联网上有很多关于如何不是那么简单的使用RoR的任何JavaScript库,并且你必须采取特殊的步骤等等...

我真的想,如果有人欣赏它可以为我提供一些启示。 谢谢!

回答

3

只需在您的layout/application.html.erb文件中指出您的javascript文件的来源位置即可。

例如:<%= 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.js文件中。

希望它可以帮助你!

+0

非常感谢。但我仍然想知道是否可以像处理常规html文件一样处理视图?而且,如果我使用了你描述的方法,访问JavaScript方法的语法是什么? – Chris

+0

是的,它是可以治疗就像一个普通的HTML文件中的观点,你可以把你的JavaScript有没有问题。你用什么语法来访问javascript方法?例如,一旦你在'application.js'文件中,它就全是javascript,纯粹的。 –

1

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

这有助于保持public目录干净,可以更容易地换出不同的JS库以最小的大惊小怪。