【问题标题】:Javascript yield in application.html.erb, unable to make it work. Ruby on Rails?application.html.erb 中的 Javascript 产生,无法使其工作。 Ruby on Rails?
【发布时间】:2012-08-29 10:01:58
【问题描述】:

我在 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】:

    而不是使用

     <%= yield(:javascript) %> 
    

    你可以直接把你的java脚本放到app/views/layout中的application.html.erb中来共享代码扔掉所有的页面。

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

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

    出现在您的所有页面中。

    【讨论】:

    • 是的...最终,我已将 javascript 放入 assets/javascripts 中的相应 javascript 文件中
    猜你喜欢
    • 2011-11-13
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    相关资源
    最近更新 更多