Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

association creates blank select if collection is nil #598

Merged
merged 1 commit into from Jun 22, 2012
Jump to file or symbol
Failed to load files and symbols.
+9 −1
Split
@@ -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
@@ -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'