在Rails中为什么我会使用偏序?解释它就像我5岁。我根本不明白为什么有人会用它们。
答案 0 :(得分:7)
First thing
,请在此处阅读Official Rails guide for partials。
<强> Now some benefits
强>
它使您的视图保持清洁和系统化, DRY Philosphy
。
最重要的地方
部分进入图片是当你想重用一些
各种观点中的组成部分通常开发人员创造一种
shared/common folder
部分位于其中并在其中使用
各种观点。
使用Rails的 “if” or “unless”
语句有条件地加载部分内容
如果模板需要 iterate over a collection
并为每个元素呈现子模板,这将非常有用。
您的不同部分也可以 different layouts
。
Partial API here列出了所有可以让您了解它的各种方法。
将视图分成局部视图也可以帮助您在网页某些部分的 proper fragment caching
(Fragment Caching)中。更好的管理。
如果你进入 Metaprogramming
,那么你也可以通过创建动态帮助器在你的部分中添加这种味道。正如Stackoverflow回答here
答案 1 :(得分:3)
它们是避免重复自己的方便方法。
例如,您可能有多个页面显示菜单。不要在每个视图中重复菜单的标记,而是将其放在局部并在每个页面上渲染。
在其他情况下,通过将复杂视图分成几个部分,可以使复杂视图更易于管理。
答案 2 :(得分:0)
您通常使用partials重用代码:假设您有一个帖子列表,每个帖子都有一个带有图像,标题和摘录的小预览。在您的博客主页中,您有一个帖子列表,当您按年度对帖子进行分组时,您会显示帖子列表,当您搜索术语时,您必须显示帖子列表。
您可以将该逻辑移动到部分逻辑,并在需要时随时继续引用该逻辑,而不是重复显示后期预览的逻辑。您可以保持代码DRY并减少代码编写。此外,如果您意识到要添加新内容,则可以更改部分而不是去寻找模板,这些模板会在您的应用程序中显示帖子预览。
答案 3 :(得分:0)
好吧,因为你想要使用重用代码的方法的原因完全相同。假设您的应用程序中有一个状态区域,您希望在不同的位置显示该区域。您可以将该状态区域的视图代码放在partial中,然后在相应的页面上使用该部分。
由于partials也可以使用参数,因此可以非常轻松地重用视图代码。此外,您可以将部分内容专用于您的应用程序的某些模型。这样,您只需调用render @model
,并通过命名约定选择正确的部分。
答案 4 :(得分:0)
部分允许您将布局代码分成一个文件,该文件将在整个布局和/或多个其他布局中重复使用。
例如,您可能有一个要在您网站上的10个不同页面上显示的登录表单。您可以将部分代码编写一次,而不是将表单代码编写10次,而在10个页面的每个页面中,只需将该部分包含在布局中的适当位置即可。如有必要,您可以将局部实例变量传递给partial以使它们可用。
这样,如果您需要更改表单,您只需要更改部分代码一次,而不是在所有布局中更改10次。
以下是部分内容指南:http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials
关于将数据/变量转换为部分内容的更多讨论:Pass a variable into a partial, rails 3?