在RAILS中插入javascript调用

时间:2009-11-26 20:08:51

标签: javascript ruby-on-rails onload onload-event

我在轨道上是n00b。问题很简单,我想知道如何在onLoad事件的body标签内部进行javascript函数调用。

我问这个是因为在视图中我找不到任何身体或头部标签(就像它们是在其他地方生成的那样)。

由于

3 个答案:

答案 0 :(得分:4)

您无需修改​​body标记以将Javascript函数与onload相关联。您可以将函数分配给外部Javascript文件中的window.onload,而不是在正文上使用onload属性。

有更多高级方法,使用事件侦听器执行相同的操作(在页面加载时触发函数),这将允许在页面加载前一点/一段时间在DOM就绪上添加多个侦听器函数或触发器函数。只设置window.onload是最简单的方法,并且会让你的Javascript保持不引人注目。

答案 1 :(得分:2)

bodyhead标记通常会在其中一个布局中定义。默认情况下,布局位于app/views/layouts

答案 2 :(得分:2)

EricBréchemier和mtyaka都是正确的。

另一种方法(如果你需要在每个视图的基础上为页眉/页脚添加自定义元素,你会想要用yield块做这样的事情

以下是允许在每页基础上覆盖标题的示例,但相同的技术适用于在HTML标头标记中设置script标记。

app/views/layouts/posts_layout.html.erb

<html>
  <head>
    <title><%= yield(:page_title) || "My awesome site"%></title>
  </head>
  <body><%= yield %> </body>
</html>

app/views/posts/index.html.erb

<%= content_for :page_title, "post listing" %>
<h1>Here are your posts...</h1>