2011-06-27 4 views
0

HAMLテンプレートを使用しているビューの一部のフォームがオブジェクトIDを表示しないようにするにはどうすればよいですか? 例えば、Usersのための私のshow.html.hamlはショートリストのリストについて=render 'shortlists'が含まれていますオブジェクトidを画面に印刷しないようにする方法

%p 
Shortlists: 
= @shortlists.each do |s| 
    = render :partial => 'shortlists', :locals => { :s => s } 
%p 

私は何を画面に表示することです:

私から

"#<Shortlist:0xa95fa38>#<Shortlist:0xa95f54c>" 

を防ぐにはどうすればよい

Shortlists: 
Shortlist A has 0 items 
Shortlist B has 5 items 
"#<Shortlist:0xa95fa38>#<Shortlist:0xa95f54c>" 

レンダリング?

+0

それは本当にだろういくつかのコードサンプルを追加した場合、私たちを助けてください。 –

+0

確かに、私のshow.html.haml内のコードは、上記をレンダリングするコードです: –

+0

%p ショートリスト: = @ shortlists.each do | s | =レンダリング:partial => 'ショートリスト'、:locals => {:s => s} %p –

答えて

5

@shortlists.eachの前の=-に変更してください。

Relevant documentation

+0

うわー!ありがとうLOT –

+0

または " - "で置き換えるのではなく完全に削除してください。あなたがしていたことは、@shortlistsのリストであるブロックの結果をスクリーン印刷することでした。 – Pavling

1

あなたも、より多くのコードを凝縮することができます

# view.html.haml 
= render @shortlists 

その後、_shortlist.html.hamlに現在の反復のためのShortlistのインスタンスは、名前の変数を介してアクセス可能になりますshortlist

関連する問題