Как я могу высушить объявления вспомогательных методов - PullRequest
0 голосов
/ 04 марта 2011

У меня определено много помощников, которые в основном делают то же самое.

def subtitle(page_subtitle)
  content_for(:subtitle) { page_subtitle }
end

def header(page_header)
  content_for(:header) { page_header }
end

def auto_header(page_auto_header)
  content_for(:auto_header) { page_auto_header }
end

def header_image(page_header_image)
  content_for(:header_image) { page_header_image }
end

def bodyclass(page_bodyclass)
  content_for(:bodyclass) { page_bodyclass }
end

И еще много всего ...

Мой вопрос: как мне СУШИТЬ этот код?

Я пытался что-то такое, но у меня не получалось

content_for_helpers = ["title","subtitle","logocolor"]
content_for_helpers.each do |helper|
  def helper(helper)
    content_for(helper.parameterize.underscore.to_sym) { helper }
  end
end

1 Ответ

2 голосов
/ 04 марта 2011
def helper what
  content_for(what) { send "page_#{what}" }
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...