Rails:渲染模型?

我可以想到在Rails中渲染模型的百万种不那么自动的方法,但我想知道是否有一些内置的方法来实现它。 我希望能够做到这一点

 

很明显你可以做部分(我的意思是,调用渲染:部分),但我想知道是否有一些标准方法将视图与模型相关联

[提前谢谢,weppos,修复此问题上的标签:)]

如果直接将模型传递给渲染 ,它将尝试为其渲染部分模型。

 <%= render @thing %> 

那是一样的。

 <%= render :partial => 'things/thing', :object => @thing %> 

如果你传递一系列模型……

 <%= render @things %> 

它将为每个部分渲染_thing ,就像你这样做一样。

 <%= render :partial => 'things/thing', :collection => @things %> 

注意:这需要Rails 2.3。 如果你有早期版本的Rails,你需要使用:partial选项来做同样的事情。

 <%= render :partial => @thing %> 

您可以覆盖模型中的to_s方法以返回所需的表示forms,尽管这不一定是理想的,因为您的模型包含正确属于视图的表示关注点。

此外, to_s实际上是为了返回模型的简短字符串表示,可用于调试等。

你不是来自Seaside吗? :)(我问,因为这正是在那里工作的方式,每个模型/可渲染对象都知道如何渲染自己,这就是你如何放置页面。)

关于你的实际问题,标准的方法是将你的@thing提供给你。 (即你对部分资金的看法是正确的,这就是观点通常与模型相关联的方式。)