在rails应用程序中,在哪种情况下你会使用partial,你什么时候会使用帮助器?我发现两者非常相似,因为它们代表了标记片段.
围绕这个有约定吗?使用它们的'轨道方式'是什么?
谢谢!
我想我的经验法则是使用帮助器构建一个单独的显示单元 - 就像包含链接的跨度 - 并使用部分构建一个由多个单元组成的更复杂的显示单元"显示 - 像网格或菜单.
部分是视图片段,视图片段在多个位置有用并被拉出以便删除重复.然而,底线是视图 - 独立或部分 - 用于呈现.
如您所知,控制器用于处理逻辑.但是,在呈现视图时,您将不可避免地需要一些逻辑处理.因此,例如,如果您有一些仅供管理员使用的演示文稿,您可以将该逻辑提取到帮助程序并保持视图"纯粹"和仅演示文稿.助手将不可避免地包含演示代码 - html标签等 - 但这是他们使用的副产品,而不是他们的主要功能.
您还可以将两者结合起来 - 管理员演示文稿的部分内容和用户演示文稿的另一部分,以及具有逻辑的帮助程序,以确定在特定情况下呈现哪一个.
只是我的$ .02.
其他答案代表了关于使用帮助者与部分人的概念共识.请考虑以下内容以进一步阅读:
Basecamp开发人员最大限度地减少帮助中的HTML http://37signals.com/svn/posts/1108-what-belongs-in-a-helper-method
Viget dev对每个人进行了基准测试,发现帮助者比部分人更快 http://www.viget.com/extend/helpers-vs-partials-a-performance-question/