通过Github上的官方代码存储库https://github.com/spree/spree阅读狂欢源代码。我不禁注意到一个奇怪的(至少在我第一次看到它)在演示网站的主要加载页面上使用“yield”功能,如https://github.com/spree/spree/blob/master/core/app/views/layouts/spree_application.html.erb
页面正文中未命名的产量让我很感兴趣,是什么让它自动“产生”以下页面的内容: https://github.com/spree/spree/blob/master/core/app/views/shared/_products.html.erb
换句话说,在使用未命名的产量时,决定要渲染的是什么。
任何澄清都将受到高度赞赏。
答案 0 :(得分:1)
spree_application.html.erb是一个主要的应用程序布局页面。这将具有应用程序/大部分应用程序共同的所有设计(在整个站点进行更改的一个地方)。
未命名的yield
会将related
的观看内容置于当前请求中。
当您访问主页时,您一定已经注意到了这一点。哪个是products#index
(产品控制器和视图索引)。 root :to => 'products#index'
(Reference)。
如果您选中(product#index view),则会从shared/_product
<%= render "shared/products", :products => @products, :taxon => @taxon %>