diff options
author | Miklos Fazekas <mfazekas@szemafor.com> | 2015-02-06 22:44:48 +0100 |
---|---|---|
committer | Miklos Fazekas <mfazekas@szemafor.com> | 2015-02-06 22:44:48 +0100 |
commit | be0875f4580749c2c5ad84086f2e890ddeba7de8 (patch) | |
tree | 29f5023dd29b18b0941fcbc9b9025e7e91b9b309 /actionview/test | |
parent | 254693a39c73b6fc9ad71b47b4d652e8738bec12 (diff) | |
download | rails-be0875f4580749c2c5ad84086f2e890ddeba7de8.tar.gz rails-be0875f4580749c2c5ad84086f2e890ddeba7de8.tar.bz2 rails-be0875f4580749c2c5ad84086f2e890ddeba7de8.zip |
Fixed undefined method `i18n_key' for nil:NilClass for labels in non AR form_for
Refactoring at #18647 broke using non active record objects in form_for. This patch
restores the original behaviour where we only compute i18 key when object.respond_to?(:to_model)
Diffstat (limited to 'actionview/test')
-rw-r--r-- | actionview/test/template/form_helper_test.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/actionview/test/template/form_helper_test.rb b/actionview/test/template/form_helper_test.rb index 1ed4fbafcf..4e336bea63 100644 --- a/actionview/test/template/form_helper_test.rb +++ b/actionview/test/template/form_helper_test.rb @@ -259,6 +259,18 @@ class FormHelperTest < ActionView::TestCase end end + def test_label_with_non_active_record_object + form_for(OpenStruct.new(name:'ok'), as: 'person', url: 'an_url', html: { id: 'create-person' }) do |f| + f.label(:name) + end + + expected = whole_form("an_url", "create-person", "new_person", method: "post") do + '<label for="person_name">Name</label>' + end + + assert_dom_equal expected, output_buffer + end + def test_label_with_for_attribute_as_symbol assert_dom_equal('<label for="my_for">Title</label>', label(:post, :title, nil, for: "my_for")) end |