【问题标题】:Rails rendering of controller_action.js.erb (AJAX) with the respond_to - can't it be done with coffe/haml?使用 respond_to 对 controller_action.js.erb (AJAX) 进行 Rails 渲染 - 不能用 coffe/haml 完成吗?
【发布时间】:2013-03-22 06:45:05
【问题描述】:

我是那些使用 HAML 而不是 ERB 和 Coffeescript “而不是” Javascript 的人之一。我的应用程序使用了大量的 AJAX 响应,例如:

def controller_action

  # Lots of code here...

  respond_to do |format|
    format.html {
    }
    format.js
  end
end

它们会呈现如下所示的 controller_action.js.erb:

var some_partial;
some_partial = $("#some_partial");
some_partial.children().remove();
$('#some_partial').append('<%= j render("some_partial") %>');

因为我直接使用 HAML 和 Coffeescript,因此无法理解 ERB 和 Javascript 语法(我知道有一些很酷的网站,例如 js2coffee.org 和 html2haml.heroku.com,但我宁愿我的应用程序使用我理解的代码语言)。

这让我想到了我的问题:真的不可能有 controller_action.js.coffee.html.haml 或类似的东西吗?

【问题讨论】:

  • 您使用的是哪个版本的导轨?
  • 嗨@ValentinVasilyev,我使用Rails 3.2.8。
  • 它应该是 .js.coffee 或 .html.haml,但从不 .js.coffee.html.haml。
  • 我知道 :-) 问题不是我的 haml/coffeescript 文件应该有什么名称,而是如果可以将 haml 和 coffeescript 结合起来,就像你可以结合 erb 和 javascript 一样。

标签: ruby-on-rails ajax coffeescript haml


【解决方案1】:

默认情况下,rails 3.2.13 支持以下内容格式:

irb(main):003:0> Mime::SET.map(&:to_sym)
=> [:html, :text, :js, :css, :ics, :csv, :png, :jpeg, :gif, :bmp, :tiff, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip]

其他格式需要手动添加,例如在config/initializers/mime_types.rb中:

Mime::Type.register "text/markdown", :markdown

【讨论】:

    猜你喜欢
    • 2015-01-04
    • 2018-06-25
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    相关资源
    最近更新 更多