【问题标题】:interpreting coffeescript in a layout在布局中解释咖啡脚本
【发布时间】:2023-03-08 12:30:01
【问题描述】:

我正在使用 content_for 将一些特定于视图的 .js 代码添加到页面的标题中

<% content_for :head do %>
  <script lang="text/javascript">
    $.getJSON("<%= book_chapters_path(@book) %>", function(data){

    });
  </script>
<% end %>

现在我将如何将该 js 代码切换为 coffescript,我可以放入一个代码块来告诉 rails 将其转换为 javascript,或者甚至只是添加“lang/coffeescript”,然后 rails 就会处理它。

【问题讨论】:

    标签: ruby-on-rails coffeescript erb asset-pipeline


    【解决方案1】:

    在布局中:

    <% content_for :head do %>
      <%- javascript_tag do %>
        <%= render :partial => "cs/coffee-partial" %>
      <%- end %>
    <%- end %>
    

    其中cs/coffee-partialviews/cs/_coffee-partial.html.coffee。 您甚至可以将局部变量传递给 render 并将它们输出到您的咖啡部分:

    <%= render :partial => "cs/coffee-partial", :locals => {:version => '0.1', :name => 'varName'} %>
    

    然后:

    lib =
      version: '<%= version %>'
      '<%= name %>': 'some value'
    

    【讨论】:

      【解决方案2】:

      你可以使用这个 gem:https://github.com/markbates/coffeebeans

      【讨论】:

      • 我确实注意到了,但不是每次访问视图时都会编译吗?
      • 这个 gem 不需要在局部渲染咖啡脚本。 coffee-rails 开箱即用。
      猜你喜欢
      • 2013-06-10
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 2017-04-05
      • 2013-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多