Skip to content

Commit

Permalink
fix label with block in erb
Browse files Browse the repository at this point in the history
  • Loading branch information
lest committed Nov 27, 2011
1 parent 3c81fc3 commit bc81ba2
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 2 deletions.
4 changes: 2 additions & 2 deletions actionpack/lib/action_view/helpers/form_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -960,7 +960,7 @@ def instantiate_builder(record_name, record_object, options, &block)
end

class InstanceTag
include Helpers::CaptureHelper, Context, Helpers::TagHelper, Helpers::FormTagHelper
include Helpers::TagHelper, Helpers::FormTagHelper

attr_reader :object, :method_name, :object_name

Expand Down Expand Up @@ -992,7 +992,7 @@ def to_label_tag(text = nil, options = {}, &block)
options["for"] ||= name_and_id["id"]

if block_given?
label_tag(name_and_id["id"], options, &block)
@template_object.label_tag(name_and_id["id"], options, &block)
else
content = if text.blank?
object_name.gsub!(/\[(.*)_attributes\]\[\d\]/, '.\1')
Expand Down
4 changes: 4 additions & 0 deletions actionpack/test/fixtures/test/_label_with_block.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<%= label 'post', 'message' do %>
Message
<%= text_field 'post', 'message' %>
<% end %>
7 changes: 7 additions & 0 deletions actionpack/test/template/form_helper_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,13 @@ def test_label_with_block
assert_dom_equal('<label for="post_title">The title, please:</label>', label(:post, :title) { "The title, please:" })
end

def test_label_with_block_in_erb
path = ActionView::FileSystemResolver.new(FIXTURE_LOAD_PATH)
view_paths = ActionView::PathSet.new([path])
view = ActionView::Base.new(view_paths)
assert_equal "<label for=\"post_message\">\n Message\n <input id=\"post_message\" name=\"post[message]\" size=\"30\" type=\"text\" />\n</label>", view.render("test/label_with_block")
end

def test_text_field
assert_dom_equal(
'<input id="post_title" name="post[title]" size="30" type="text" value="Hello World" />', text_field("post", "title")
Expand Down

0 comments on commit bc81ba2

Please sign in to comment.