Skip to content

Commit

Permalink
Merge pull request heartcombo#536 from nashby/fix-issue-533
Browse files Browse the repository at this point in the history
propagate defaults options to nested forms
  • Loading branch information
rafaelfranca committed Apr 10, 2012
2 parents 798a0a1 + 4b512be commit fad3d14
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
3 changes: 2 additions & 1 deletion lib/simple_form/action_view_extensions/builder.rb
Expand Up @@ -193,7 +193,8 @@ def collection_check_boxes(attribute, collection, value_method, text_method, opt
# end
def simple_fields_for(*args, &block)
options = args.extract_options!
options[:wrapper] ||= self.options[:wrapper]
options[:wrapper] ||= self.options[:wrapper]
options[:defaults] ||= self.options[:defaults]

if self.class < ActionView::Helpers::FormBuilder
options[:builder] ||= self.class
Expand Down
14 changes: 14 additions & 0 deletions test/form_builder/general_test.rb
Expand Up @@ -305,6 +305,20 @@ def with_custom_form_for(object, *args, &block)
assert_no_select "input.string[name='user[credit_limit]']"
end

test 'builder should receive a default argument and pass it to the inputs and nested form' do
@user.company = Company.new(1, 'Empresa')

with_concat_form_for @user, :defaults => { :input_html => { :class => 'default_class' } } do |f|
concat(f.input :name)
concat(f.simple_fields_for(:company) do |company_form|
concat(company_form.input :name)
end)
end

assert_select "input.string.default_class[name='user[name]']"
assert_select "input.string.default_class[name='user[company_attributes][name]']"
end

# WITHOUT OBJECT
test 'builder should generate properly when object is not present' do
with_form_for :project, :name
Expand Down

0 comments on commit fad3d14

Please sign in to comment.