Я создаю приложение с ruby на рельсах, где у меня есть items / _item.html.erb.Внутри партиала есть выражение выхода, поэтому я могу добавлять дополнительный контент по мере необходимости.В этом случае я хочу добавить определенную кнопку к элементу в зависимости от того, что представление вызывает частично.
Это то, что я пробовал, и он рендерит частичное, но он не рендерит блок:
_item.html.erb
<%= yield if block_given? %>
<div>
<%= item.name %>
</div>
someview.html.erb
...
<% render(:partial => 'items/item', :collection => current_user.items do %>
<%= "HELLO" %>
<% end %>
...
Я также безуспешно пытался использовать content_for и некоторые другие вещи.Есть ли способ, чтобы можно было визуализировать определенный контент внутри частичного с помощью yield?В настоящее время я использую Rails3
EDIT:
Я обнаружил, что это хэш: collection, который делает невозможным вставку блока.
Обе части кода работают:
<%= render :layout => 'items/item' do %>
Hello world
<% end %>
<%= render :layout => 'items/item', :locals => {:item => current_user.items.first} do %>
Hello world
<% end %>
Это означает, что если я сделаю .each, я смогу выполнить то, что хочу, но это был бы уродливый код.Кто-нибудь знает способ обойти это?