mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Merge pull request #3772 from lest/label-with-block
fix label with block in erb
This commit is contained in:
@@ -960,7 +960,7 @@ module ActionView
|
||||
end
|
||||
|
||||
class InstanceTag
|
||||
include Helpers::CaptureHelper, Context, Helpers::TagHelper, Helpers::FormTagHelper
|
||||
include Helpers::TagHelper, Helpers::FormTagHelper
|
||||
|
||||
attr_reader :object, :method_name, :object_name
|
||||
|
||||
@@ -992,7 +992,7 @@ module ActionView
|
||||
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')
|
||||
|
||||
4
actionpack/test/fixtures/test/_label_with_block.erb
vendored
Normal file
4
actionpack/test/fixtures/test/_label_with_block.erb
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
<%= label 'post', 'message' do %>
|
||||
Message
|
||||
<%= text_field 'post', 'message' %>
|
||||
<% end %>
|
||||
@@ -230,6 +230,13 @@ class FormHelperTest < ActionView::TestCase
|
||||
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")
|
||||
|
||||
Reference in New Issue
Block a user