[2014/09/01追記]
- こちらの方が、補足や注意点を書いてくださっています。
- 私の場合も、次のような、ちょっとした用途でテンプレ内 Coffee を利用しています。
以前に Rails 4 で Haml を利用する手順 を書いたのですが、同僚に、Haml のテンプレ内で CooffeeScript が書けるよと教えてもらいました。
自分の環境:
OS:Mac OS X 10.9.4 (Mavericks)
Ruby:2.1.2
Rails:4.1.1
Haml が導入されていれば、次のように :coffee
を定義して、段落さげして Coffee を書いていけばいい。
hoge.html.haml
〜
- @items.each do |item|
%tr
%td= item.name
%td= item.price
%td= item.memo
%td= link_to 'Show', item
%td= link_to 'Edit', edit_item_path(item)
%td= link_to 'Destroy', item, :method => :delete, :data => { :confirm => 'Are you sure?' }
%br
= link_to 'New Item', new_item_path
:coffee
class Language
constructor: (@name) ->
move: (meters) ->
alert @name + " moved " + meters + "m."
class Ruby extends Language
move: ->
alert "Ruby..."
super 5
class PHP extends Language
move: ->
alert "PHP..."
super 45
rails = new Ruby "Ruby on Rails"
symfony = new PHP "Symfony"
rails.move()
symfony.move()
※ 上記のスクリプトは http://railsdoc.com/coffeescript から引用させて頂きました。
Haml の filter と呼ばれる機能なのですが、Hamlのサイトによると、Coffee 以外にもいろいろ便利な filter があるっぽい。
⇒ http://haml.info/docs/yardoc/file.REFERENCE.html#cdata-filter
:markdown
とかちょっと便利そう。