编程新手,但我已经完成了一些巧妙的工作。但鉴于我的非传统方法,我有时会对涉及大量假设的“传统”教义感到沮丧和困惑。
所以我一直在学习rails,并且喜欢它的结构,但是一些术语让我感到困惑,我试图理解它,但无法理解它。很多人一直向我推荐 RailsGuides on Layouts and rendering,但我并不完全理解它,并认为它缺乏整体 Rails 结构的更广泛背景。
那么,您是否知道任何描述整个过程和术语的 Rails 解释站点/文档/视频/书籍,更具体地说,是那些说明布局、渲染、局部和视图如何工作的,相对于 Rails 处理?
规格:
当试图理解它们之间的关系时,术语会变得混乱。以PJAX RailsCast 为例,Bates 明确表明它们是布局和模板之间的差异。当我试图通过这个 SO question来实现这一点时,我迷失在文件及其功能的常规结构和命名中(不是每个人,只是那些似乎在命名中超载的那些)。
以. applicaiton.html.erb
_ views/layouts
它的文件路径位置告诉我它是一个“布局”,但是那些也位于其中的_navigation.html.erb
and_left.html.erb
和etc....因为所有页面都共享这些,它们与它们处于同一级别 但这些具有前面的 _underscores在文件名中,所以 Rails 知道这些是“部分”,但它们也位于文件夹中,并且在文件夹中。那么它的名字是什么? _right.html.erb
views/layouts
application.html.erb
views
layout
上面的问题导致我不明白某人在说什么,因为我也可能没有相应地构建文件。范围问题(据我所知,当您调用render 'action'
或render 'file'
等等时,rails 可以找到另一个控制器视图和操作)在使用render
vs content_for
/时发挥作用yield
。看看我的SO 问题,在 Geoff 的回答中,在他的评论中,当我问到“所以不可能使用其他观点的产量?”时,他的回答是“这当然不是意图”。
所以回到最初的问题,我不觉得这些是相互关联的。我对制作一个健壮的应用程序很感兴趣,并且我了解如何使用其他较小的框架来完成它,但我需要在更高的层次上了解 rails 如何使用布局、部分、模板和视图,以及应如何相应地构建文件。
我还想要描述它们的术语的图表或解释,以及它们与其他(用法、另一个的父/子)和常规放置的关系。这看起来像:
A view is what is presented to the user. It is comprised of several parts.
The following are required [ templates, layouts ].
These are not required, but very likely once you have a robust and
flexible program [ partials, yields/content_for ].
A layout is a framework ....
A Partial is content, but only "partial" of a page....
A rendered file is ... and is located in each model's view