Пила этот кусок кода в книге Ruby on Rails. Это первое из представления, а второе - вспомогательный модуль. Я не понимаю, как это работает &block
и attributes={}
. Может ли кто-нибудь научить меня чему-то объяснять?
<% hidden_div_if(@cart.items.empty?, :id => "cart") do %>
<%= render(:partial => "cart", :object => @cart) %>
<% end %>
module StoreHelper
def hidden_div_if(condition, attributes = {}, &block)
if condition
attributes["style"] = "display: none"
end
content_tag("div", attributes, &block)
end
end