I''ve created a patch that lets the "label_tag" and "label" helpers accept blocks. I''ve found that it''s quite common for labels to include markup beyond text, and things get messy quickly. Consider <%= f.label :terms, "<span>Accept #{link_to ''Terms'', terms_path}</ span>" %> versus <% f.label :terms do %> <span>Accept <%= link_to "Terms", terms_path %></span> <% end %> Ticket with patch/tests: https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/3645-let-label-helpers-accept-blocks Stephen -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
Double bonus for this enhancement -thanks Stephen. I see that you have also made the "name" attribute optional -fantastic. Now one can implicitly apply a label to the enclosed input without having to worry about id matching with the ''for'' attribute: label_tag nil, "Your Name" do text_field_tag ''name'' end IMO, the signature of #label_tag (and #label) should evolve to better support this practice as it reduces the need to keep DOM ids in sync between the input and the label. Perhaps by counting args to label_tag and assuming a single string argument is a contextual label. On Jan 4, 9:34 am, Stephen Celis <stephen.ce...@gmail.com> wrote:> I''ve created a patch that lets the "label_tag" and "label" helpers > accept blocks. I''ve found that it''s quite common for labels to include > markup beyond text, and things get messy quickly. Consider > > <%= f.label :terms, "<span>Accept #{link_to ''Terms'', terms_path}</ > span>" %> > > versus > > <% f.label :terms do %> > <span>Accept <%= link_to "Terms", terms_path %></span> > <% end %> > > Ticket with patch/tests: > > https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/3... > > Stephen-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
Thanks for taking a look, Chris. Could others offer their opinions? Stephen On Jan 5, 7:36 am, Chris Cruft <c...@hapgoods.com> wrote:> Double bonus for this enhancement -thanks Stephen. I see that you > have also made the "name" attribute optional -fantastic. Now one can > implicitly apply a label to the enclosed input without having to worry > about id matching with the ''for'' attribute: > > label_tag nil, "Your Name" do > text_field_tag ''name'' > end > > IMO, the signature of #label_tag (and #label) should evolve to better > support this practice as it reduces the need to keep DOM ids in sync > between the input and the label. Perhaps by counting args to > label_tag and assuming a single string argument is a contextual label. > > On Jan 4, 9:34 am, Stephen Celis <stephen.ce...@gmail.com> wrote: > > > > > I''ve created a patch that lets the "label_tag" and "label" helpers > > accept blocks. I''ve found that it''s quite common for labels to include > > markup beyond text, and things get messy quickly. Consider > > > <%= f.label :terms, "<span>Accept #{link_to ''Terms'', terms_path}</ > > span>" %> > > > versus > > > <% f.label :terms do %> > > <span>Accept <%= link_to "Terms", terms_path %></span> > > <% end %> > > > Ticket with patch/tests: > > >https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/3645-let-label-helpers-accept-blocks > > > Stephen-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To post to this group, send email to rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.