2008-12-30 42 views
41

在一个rails应用程序中,在哪种情况下你会使用partial,何时使用helper?我发现两者非常相似,因为它们代表标记片段。何时使用助手代替Partial

这是否有一个公约?这是使用它们的'rails方式'吗?

谢谢!

回答

28

我想我的经验法则是使用一个辅助构建显示器的一个“单位” - 像包含链接的跨度 - 并使用部分打造更组成显示的更复杂的装置比显示器的一个“单位” - 比如网格或菜单。

2

我用佣工当代码很可能在其他项目中再次使用,而对于具体的项目代码谐音。

2

我使用partials作为子模板(即,有很多标记一次又一次地使用,如博客文章blurb),以及帮助程序处理显示更多逻辑事物(只有管理员才能看到的div,例如)。

17

的部分是一个视图片段,一块的视图是在多个地方有用和被拉出,从而除去重复的。但是,底线是观看 - 独立或部分 - 用于演示。

如您所知,控制器用于处理逻辑。然而,在呈现视图时,您将需要一些逻辑处理,这是不可避免的。因此,例如,如果您有一些仅供管理员使用的演示文稿片段,则可以将该逻辑提取给帮助器,并将该视图保持为“纯粹”和仅用于演示文稿。 Helpers将不可避免地包含表示代码 - html标签等 - 但这是它们使用的副产品,而不是它们的主要功能。

您也可以将二者结合起来 - 部分为管理呈现,另一个用于用户呈现,并与逻辑,以确定哪一个在特定情况下被渲染的帮手。

只是我的.02。

+3

但是rails只使用助手进行演示(如复选框和文本框) – 2008-12-30 03:24:22

0

局部模板是部分查看哪些可以有一堆HTML代码以及Ruby代码。 您也可以在渲染方法中使用控制器中的partials。

在助手的情况下,你可以有简短的HTML代码段的方法。你可以在你的视图文件中使用一些计算相关的方法。