用respond_to渲染controller_action.js.erb(AJAX)的Rails - 不能用coffe / haml来完成吗?

时间:2013-04-01 07:17:14

标签: ruby-on-rails ajax coffeescript haml

我是使用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或类似的东西?

1 个答案:

答案 0 :(得分:0)

默认情况下,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