5
Haml yardımcılarını kullanmayı seviyorum, ancak yıllar boyunca işler biraz değişti. Eski yol basitçe tampon ile birleştirmek oldu. Bu bir dize dönmek için AncakGeri Dönüş Dizeleri Haml Yardımcıları Kullanma
- confirmation_table(@f)
, bu (benim için) daha mantıklı: Bu, elbette, sadece kadar bence ulaşılabilir
def confirmation_table(field)
# Be certain that if the user is logged in, his/her email and name show
if field.respond_to? :user
haml_tag('tr') {
haml_tag('th', 'Email:')
haml_tag('td', field.user.email)
}
haml_tag('tr') {
haml_tag('th', 'Name:')
haml_tag('td', field.user.full_name)
}
else
haml_tag('tr') {
haml_tag('th', 'User Information:')
haml_tag('td', 'Not specified.')
}
end
field.class.columns.collect{|col| col.name}.reject{|col|
col =~ /_at$/ ||
col =~ /_on$/ ||
col =~ /_id$/ ||
col == 'id'}.each do |col|
haml_tag('tr') {
haml_tag('th', ActiveSupport::Inflector::humanize(col))
haml_tag('td', typeize(field, col))
}
end
end
: İşte ne var . haml_capture
'un aynı yapılandırma özelliğini nasıl sağladığını göremiyorum. Herhangi bir ipucu?
Örneğinizi, tamamıyla ve minimum düzeyde uygulanabilir olacak şekilde tamamlar mısınız? –
Ne demek istiyorsun? Bazı "haml_tag" çağrıları ekleniyor? Veya HAML görünümünde bu yardımcının örnek bir kullanımı? –
Evet, birden fazla "haml_tag" çağrısını ekliyorum. Kulağa aptalca geldiğini biliyorum, ama RoR'u yüklemeden komut satırından 'haml 'kullanmaya çalışıyorum ve çoğu insanın yapmadığı bazı sorunlar görüyorum. Bu nedenle, tam (ama küçük) bir örnek istiyorum. –