Skip to content

Commit

Permalink
association creates blank select if collection is nil
Browse files Browse the repository at this point in the history
  • Loading branch information
nashby committed Jun 22, 2012
1 parent 840d115 commit 1cf06d3
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
4 changes: 3 additions & 1 deletion lib/simple_form/form_builder.rb
Expand Up @@ -174,7 +174,9 @@ def association(association, options={}, &block)
raise "Association #{association.inspect} not found" unless reflection

options[:as] ||= :select
options[:collection] ||= reflection.klass.all(reflection.options.slice(:conditions, :order))
options[:collection] ||= options.fetch(:collection) {
reflection.klass.all(reflection.options.slice(:conditions, :order))
}

attribute = case reflection.macro
when :belongs_to
Expand Down
6 changes: 6 additions & 0 deletions test/form_builder/association_test.rb
Expand Up @@ -79,6 +79,12 @@ def with_association_for(object, *args)
assert_select 'form select option[value=3]', 'Company 3'
end

test 'builder creates blank select if collection is nil' do
with_association_for @user, :company, :collection => nil
assert_select 'form select.select#user_company_id'
assert_no_select 'form select option[value=1]', 'Company 1'
end

test 'builder allows collection radio for belongs_to associations' do
with_association_for @user, :company, :as => :radio_buttons
assert_select 'form input.radio_buttons#user_company_id_1'
Expand Down

0 comments on commit 1cf06d3

Please sign in to comment.