我在application.html.erb中有此声明:
<%= yield(:javascript) %>
而且我有以下Javascript,应响应产量:
<% content_for : javascript do %>
<script type="type/javascript">
$(function() {
call_to_function();
});
</script>
<% end %>
如果将上面的块放在home / index.html.erb中,它可以正常工作,但是我想以某种方式使其始终可用于application.html.erb,而不仅仅是在我打电话给home#index时。
我该如何实现,任何指针将不胜感激?
代替使用
<%= yield(:javascript) %>
您可以将Java脚本直接放在app / views / layout中的application.html.erb中,以共享所有页面中抛出的代码。
当内容完全相同时,无需使用yield。当我们有特定于每个页面的代码不同时,使用yield,从每个页面我们称为yield来实际替换yield块的内容。因此,将替换为
<script type="type/javascript">
$(function() {
call_to_function();
});
出现在您的所有页面中。