2012-03-19 6 views
2

私はRuby on RailsプロジェクトでHamlを使用しています。私はあなたが=記号を使ってRubyを実行することを知っていますが、今まで私が見てきたのは、Rubyコードが行の最後の部分でなければならないということです。Hamlの要素クラス

私は動的にth要素にクラスを追加しようとしています。 (ケースでは、関連のある:。各tdはまた、より多くのルビーが含まれています)

I次のコードを持っている:

%th= link_to 'Name', res_path 

私はthにクラスを追加すると、このクラスの名前はインスタンスであるが変数class_nameと呼ばれます。私はこれを試みた:

%[email protected]_name 

しかし、それは動作しません。

Hamlを使用して同じ行にRubyコードを2回含めるにはどうすればよいですか?

答えて

5

Alokが提供するhtml_optionsソリューションは、クラスを 'a'タグに追加します。私は1つではなく、2つのラインの上にこれを行うだろう:

%th{ :class => @class_name } 
    = link_to 'Name', res_path 
+0

ありがとう、これは私が探していたものです –

0

link_toタグのhtml_optionsを使用し、そこにクラスを追加することができます。私はこれを行う標準的な方法だと思う。

+1

ありがとうございますが、それは 'a'に 'th'ではないクラスを追加します –

2

@DavBが指摘したように、唯一の静的なテキストは./#の表記を使用することができます。それ以外の場合は、ヘルパーメソッドにオプションを渡すか(受け入れる場合)、より普遍的には、%th{:class => @name}のようにハッシュ属性を使用することができます。結果は<th class="namevalue">になります。

関連する問題