在一个rails应用程序中,在哪种情况下你会使用partial,何时使用helper?我发现两者非常相似,因为它们代表标记片段。何时使用助手代替Partial
这是否有一个公约?这是使用它们的'rails方式'吗?
谢谢!
在一个rails应用程序中,在哪种情况下你会使用partial,何时使用helper?我发现两者非常相似,因为它们代表标记片段。何时使用助手代替Partial
这是否有一个公约?这是使用它们的'rails方式'吗?
谢谢!
我想我的经验法则是使用一个辅助构建显示器的一个“单位” - 像包含链接的跨度 - 并使用部分打造更组成显示的更复杂的装置比显示器的一个“单位” - 比如网格或菜单。
我用佣工当代码很可能在其他项目中再次使用,而对于具体的项目代码谐音。
我使用partials作为子模板(即,有很多标记一次又一次地使用,如博客文章blurb),以及帮助程序处理显示更多逻辑事物(只有管理员才能看到的div,例如)。
的部分是一个视图片段,一块的视图是在多个地方有用和被拉出,从而除去重复的。但是,底线是观看 - 独立或部分 - 用于演示。
如您所知,控制器用于处理逻辑。然而,在呈现视图时,您将需要一些逻辑处理,这是不可避免的。因此,例如,如果您有一些仅供管理员使用的演示文稿片段,则可以将该逻辑提取给帮助器,并将该视图保持为“纯粹”和仅用于演示文稿。 Helpers将不可避免地包含表示代码 - html标签等 - 但这是它们使用的副产品,而不是它们的主要功能。
您也可以将二者结合起来 - 部分为管理呈现,另一个用于用户呈现,并与逻辑,以确定哪一个在特定情况下被渲染的帮手。
只是我的.02。
其他的答案代表关于使用助手与泛音的概念达成共识。考虑进一步阅读以下内容:
大本营开发制作的情况下在助手最大限度地减少HTML http://37signals.com/svn/posts/1108-what-belongs-in-a-helper-method
Viget的开发基准,每发现佣工比谐音更快 http://www.viget.com/extend/helpers-vs-partials-a-performance-question/
+1用于分享很好的资源链接 – 2012-04-09 11:03:35
局部模板是部分查看哪些可以有一堆HTML代码以及Ruby代码。 您也可以在渲染方法中使用控制器中的partials。
在助手的情况下,你可以有简短的HTML代码段的方法。你可以在你的视图文件中使用一些计算相关的方法。
但是rails只使用助手进行演示(如复选框和文本框) – 2008-12-30 03:24:22