Ensure that associations have a symbol argument.

Fixes #7418.
This commit is contained in:
Steve Klabnik 2012-11-28 12:43:09 -08:00
parent 3e965e2144
commit 22df38ca33
3 changed files with 12 additions and 0 deletions

@ -1,5 +1,7 @@
## Rails 4.0.0 (unreleased) ##
* Ensure that associations take a symbol argument. *Steve Klabnik*
* Fix dirty attribute checks for `TimeZoneConversion` with nil and blank
datetime attributes. Setting a nil datetime to a blank string should not
result in a change being flagged. Fix #8310

@ -13,6 +13,8 @@ def self.build(*args, &block)
end
def initialize(model, name, scope, options)
raise ArgumentError, "association names must be a Symbol" unless name.kind_of?(Symbol)
@model = model
@name = name

@ -289,6 +289,14 @@ def test_has_one_association_redefinition_reflections_should_differ_and_not_inhe
DifferentPeopleList.reflect_on_association(:has_one)
)
end
def test_requires_symbol_argument
assert_raises ArgumentError do
Class.new(Post) do
belongs_to "author"
end
end
end
end
class GeneratedMethodsTest < ActiveRecord::TestCase