har*_*ell 4 ruby yield ruby-on-rails
rails如何在.erb文件中使用以下内容?
<%= yield :sidebar %>
<%= yield :other_bar %>
<%= yield :footer %>
Run Code Online (Sandbox Code Playgroud)
他们如何能够在不同符号的相同上下文中多次产生?这是某种魔力吗?
我完全熟悉:
def some_method(arg1, arg2, &block)
yield(:block)
end
Run Code Online (Sandbox Code Playgroud)
据我所知,以下不起作用:
def some_incorrect_method(arg1, &block1, &block2)
yield(:block1)
yield(:block2)
end
Run Code Online (Sandbox Code Playgroud)
那么他们是怎么做到的呢?他们如何使它工作?
Mik*_*ffe 17
他们正在将一个符号传递给...
yield :symbol
Run Code Online (Sandbox Code Playgroud)
......不屈服于另一个街区.
它更像是这样的:
def some_method(arg1, arg2, &block)
yield(:some_symbol1)
yield(:some_symbol2)
end
some_method do |symbol|
case symbol
when :some_symbol1
# do A
when :some_symbol2
# do B
else
# unrecognised symbol?
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3730 次 |
| 最近记录: |