クリックした後にヘッダーの色が異なるようにメニューの書式を設定しています。私は各ビューに同じhamlテンプレートを使用したいと思いますし、コントローラが特定のhtml要素のクラスを変更したいと思います。コントローラから特定のhtml要素をターゲットにしてクラスを追加するにはどうすればよいですか?Rails:コントローラから要素のクラスを変更する
ここではサンプルです:
HAML:
%tr
%th
%a#name-header= link_to "Name", people_path({:sort => 'by_name'})
%th Date
%th Description
%th More Info
コントローラー:
def index
case params[:sort]
when "by_name"
@people = Person.find(:all, :order => "name")
#How can I change the class of the th element here
else
@people = Person.all
end
end
ありがとう!
だから私のHAMLは、アクセス権を持っていますparamsハッシュに?また、部分的なものは何ですか? – Nathan
はい、paramsにアクセスできます。私はまた、間違ってヘルパーの代わりに部分的に書きました。部分は、ビューをクリーンアップするために使用できる部分的なテンプレートに過ぎません。ヘルパーはapp/helpersディレクトリにあり、そこにメソッドを配置してビューをクリーンアップすることもできます。 – James