2
因为谷歌并没有帮助我在我的追求,以弄清楚这一点,我想我会分享其他任何人,运行到这个问题:红宝石NoMethodError:为[]未定义的方法`消息:阵列
当尝试保存模型,我得到
NoMethodError: undefined method `messages' for []:Array
0: /.../active_record/autosave_association.rb:491:in `_ensure_no_duplicate_errors'
1: /.../active_support/callbacks.rb:413:in `block in make_lambda'
2: /.../active_support/callbacks.rb:246:in `block in halting'
3: /.../active_support/callbacks.rb:511:in `block in invoke_after'
4: /.../active_support/callbacks.rb:511:in `each'
5: /.../active_support/callbacks.rb:511:in `invoke_after'
6: /.../active_support/callbacks.rb:132:in `run_callbacks'
7: /.../active_support/callbacks.rb:825:in `_run_validation_callbacks'
8: /.../active_model/validations/callbacks.rb:110:in `run_validations!'
9: /.../active_model/validations.rb:335:in `valid?'
实例模型:
class Foo < ActiveRecord::Base
def do_stuff
@errors = []
@errors << 'Bad stuff' if self.bar > 4
@errors
end
end
示例代码:
foo = Foo.first
foo.do_stuff
foo.save # or foo.valid?, etc.