application.html.erb中的Javascript产量,无法使其正常工作。 Ruby on Rails?

问题描述 投票:0回答:1

我在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时。

我该如何实现,任何指针将不胜感激?

ruby-on-rails ruby-on-rails-3 yield
1个回答
0
投票

代替使用

 <%= yield(:javascript) %> 

您可以将Java脚本直接放在app / views / layout中的application.html.erb中,以共享所有页面中抛出的代码。

当内容完全相同时,无需使用yield。当我们有特定于每个页面的代码不同时,使用yield,从每个页面我们称为yield来实际替换yield块的内容。因此,将替换为

 <script type="type/javascript">
$(function() {
   call_to_function();
});

出现在您的所有页面中。

© www.soinside.com 2019 - 2024. All rights reserved.