From d9699adce500d34ba7bd07959485e14de6031f92 Mon Sep 17 00:00:00 2001 From: Toshi MARUYAMA Date: Thu, 8 Dec 2011 11:13:24 +0000 Subject: [PATCH] Rails3: model: Member: errors must be set on existing attributes On Rails 3.0, test fails with following error.
Error:
test_validate(MemberTest):
NoMethodError: undefined method `role' for #
    app/models/member.rb:87:in `validate_role'
    test/unit/member_test.rb:76:in `test_validate'
Contributed by Sylvain Utard. git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@8124 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/member.rb | 2 +- test/unit/member_test.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/models/member.rb b/app/models/member.rb index f54981867..15f2b6c9a 100644 --- a/app/models/member.rb +++ b/app/models/member.rb @@ -84,7 +84,7 @@ class Member < ActiveRecord::Base protected def validate_role - errors.add_on_empty :role if member_roles.empty? && roles.empty? + errors.add_on_empty :roles if member_roles.empty? && roles.empty? end private diff --git a/test/unit/member_test.rb b/test/unit/member_test.rb index d8267158e..13a00c724 100644 --- a/test/unit/member_test.rb +++ b/test/unit/member_test.rb @@ -74,6 +74,7 @@ class MemberTest < ActiveSupport::TestCase assert user.save member = Member.new(:project_id => 1, :user_id => user.id, :role_ids => []) assert !member.save + assert_equal I18n.translate('activerecord.errors.messages.empty'), member.errors[:roles].to_s end def test_validate_member_role -- 2.39.5