放置javascript代码的Ruby on rails

Ruby on rails3 where to put javascript code

本文关键字:on rails Ruby javascript 代码 放置      更新时间:2023-09-26

对于Ruby on Rails的世界,我几乎是一个新手,几周前我跟随了Lynda的Ruby on Rails指南,所以我有点知道如何建立一个项目等等。不管怎样,我用html/css做了一个网站,但想在rails中做,所以我去工作了。我喜欢你把文件"转储"到文件夹里,然后rails把它们挑出来,但我的网站上也有几行javascript代码来"激活"jquery。它在我的标题

<script type="text/javascript" id="sourcecode">
    $(function(){
    $('.scroll-pane').jScrollPane({
    showArrows: false,
    autoReinitialise: true
        });
});
</script>

那么现在的问题是,既然rails没有。

,我该把这些代码放在哪里呢?

查看此页面的布局和渲染:http://guides.rubyonrails.org/layouts_and_rendering.html

有一节是关于呈现ERB模板的。你需要把你的javascript代码放在你的。erb模板,在头部,就像你在一个普通的HTML页面。

为了清楚起见,您可以将脚本标记的内容保存到一个.js文件中,并在模板中链接到它,就像在普通HTML中一样。

你可以把你的JS:

  • 在动词模板中处理
  • 在public/javscripts下的一个普通的。js文件中,你可以使用javascript_include_tag帮助器
  • 将其包含在模板中
  • 在单独的。js中。用于ajax/manual的erb模板文件包括目的

EDITED,按建议:

就我个人而言,我会选择后两个中的一个,因为它们更多的是约定而不是配置,或者是"Rails"的方式,这是我相信你正在寻找的。

我将public/javascripts中的所有脚本放在一个目录结构中,该目录结构反映了控制器/操作名称+供应商目录和公共目录。在我的application.html。*我有代码来加载我需要的控制器/动作到头。我努力不把javascript放到我的。haml (.erb)文件中,但如果必须的话,我愿意打破这个规则。

我会把它们放在public/javascripts/直到Rails 3.1。

还要确保你在模板中包含了你的javascript。

<% javascript_include_tag :all %>

出于加载的原因,难道你不希望某些javascript片段在模板加载后而不是在开始时被调用吗(例如:在标题中调用)?