Má tohle ekvivalent někde ve stardadních Railsech, případně pluginu?

Posted by Jan Kubr Sun, 23 Mar 2008 17:29:00 GMT
  def html_tag(name)
    "<#{name}>" + yield + "</#{name}>"
  end

  def div_tag
    html_tag('div') do
      yield
    end
  end

2 comments |

Ukázka zpřehlednění kódu view

Posted by Jan Kubr Sun, 02 Mar 2008 19:59:00 GMT

Chcete-li zobrazit větší část HTML kódu ve vaší šabloně jen za nějaké podmínky, můžete napsat

  <% unless @messages.empty? %>
     ...html...
  <% end %>

nebo

  <% if_there_are_any_mesages do %>
     ...html...
  <% end %>

a do helperu umístit jednoduché

  def if_there_are_any_mesages 
    yield unless @messages.empty?
  end

Velmi jednoduchý příklad, větší výhody přístup přináší, je-li logika podmínky komplikovanější. Již takhle ale výrazně přispívá k čitelnosti šablony, především pro neprogramátory.

no comments |