我已经从Rails指南上读过它,看过Micheal Hartel的书,现在正在阅读Rails View书籍,但仍然感到困惑 :(
有一个_footer.html.erb
文件,所以它是一个“局部文件”,在代码中写着:
<%=render 'layouts/footer' %>
据我所理解,当它看到这段代码时,会将页脚文件的HTML插入到此处。好的…现在几页后它说:
<%= render partial: 'activitiy_items/recent' %>
那么为什么这次我们在这里使用了“partial”这个词,但是在以前的例子中没有呢?
还有其他地方我看到了<%= yield :sidebar %>
所以这个yield
也会插入HTML在它的位置吗?那么这不是render
正在做的吗?
我希望如果另一个程序员而不是书籍向我解释这个问题,也许我这次能理解它 :)
yield :something
将在提供给content_for :something
的代码块上调用render
。当调用render
时,它将仅生成 HTML。 - MrYoshijiyield
是Ruby的关键字 - 它不仅适用于Rails。当我一年前从Java和PHP转来时,我很难理解它。 - Niels B.render :partial 'some/path/to/my/partial'
改为render partial: 'some/path/to/my/partial'
。 - Eric H.