2011-06-15 68 views
0

我有评论,场地和用户的表格。是否有可能有多个部分的记录?

我目前有一个_review.html.erb部分显示会场显示页面上的场地评论。

是否有可能拥有另一个名为_profile_review.html.erb的部分,并让它显示用户在用户显示页面中写入的所有评论?

我想有2个不同的部分评论,所以我可以不同的风格。

非常感谢任何帮助,非常感谢!

回答

1

您是否知道可以使用locals选项将任何变量传递给partial:?

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。评论,:locals => {:review => profiles}%>我认为它会渲染名为_profile的部分,但它给出了“未定义的局部变量或方法'配置文件'”错误 – Dave 2011-06-15 20:08:06

+0

我从不使用@collection,魔法。我建议你改用'<%@ user.reviews.each do | review | %><%=呈现“评论/评论”,:个人资料=>评论%><% end %>'。 – 2011-06-15 20:20:39

+1

你会注意到这是一个不同的语法,说明部分的路径,以及任何局部变量作为下一个参数。对于:locals参数,可以指定变量的名称,然后是值。 – 2011-06-15 20:21:40

相关问题