Я хотел бы определить некоторые вспомогательные методы в блочном помощнике, но держать их в рамках блока, чтобы у меня были разумные имена методов, и он выглядит более чистым.Создайте облачный блок в помощнике rails для дополнительных методов с областью
Скажите, что я хочу сделать следующее (очень простой пример), на мой взгляд, с помощью хелперов:
<%= foo_box do |b| %>
<%= b.title('Foo Bar') %>
Lorem Ipsum...
<% end %>
Чтобы произвести что-то вроде
<div class="foo_box">
<h2>Foo Bar</h2>
Lorem Ipsum...
</div>
Таким образом, я мог бы также иметь bar_box
блок-помощник, который также может иметь метод title
, который выводит что-то совершенно другое.
В настоящее время я использую их как различные методы, например. foo_box
и foo_box_title
с foo_box
обработки блока следующим образом:
def foo_box(&block)
content_tag(:div, capture(&block), :class => 'foo_box')
end
Это прекрасно, спасибо – DEfusion