2011-06-15 14 views
0

私はレビュー、会場とユーザーのテーブルを持っています。レコードに複数の部分データを含めることはできますか?

現時点では、会場の表示ページの会場のレビューを表示する_review.html.erbパーシャルがあります。

_profile_review.html.erbという別の部分を持ち、ユーザーが表示したすべてのレビューをユーザーの表示ページに表示できますか?

レビューのために2つの異なる部分がありたいので、私はそれぞれ異なったスタイルをとることができます。

大変ありがとうございました。

答えて

1

あなたは:localsオプションを使って部分変数に任意の変数を渡すことができますか?

render :partial => "whatever", :locals => {:foo => bar} 
# bar is available as local variable foo within _whatever.erb 

Btw。あなたには、いくつかのローカル変数を使用すると、「そのような変数」エラーを回避しないように、次のトリックを使用できるオプションのようにしたい場合:

- optional_variable ||= nil # defines optional_variable without overwriting it 

を私はこれを使ってあなたは:)あなたが想像できるものは何でもすることができるはずだと思います。

+0

@retroこのリンクが役に立っているとの回答に感謝しますが、私はなぜこのビットのコードがうまく動作しないのかを知っています:<%= render:partial => 'reviews/review'、:collection => @user。 _profileと呼ばれる部分をレンダリングするが、 "未定義のローカル変数またはメソッド' profiles '"エラーを与えると思った – Dave

+0

@collectionを決して使っていないマジック。代わりに '<%@ user.reviews.each do | review | %><%= "レビュー/レビュー"をレンダリングし、:プロフィール=>レビュー%><% end %> '。 –

+1

これは部分構文と、次の引数としてのローカル変数を示す別の構文であることに注意してください。 :locals引数の場合は、変数の名前を指定してから値を指定します。 –