我已经从 Rails 3.2 迁移到 Rails 4。我有这个:
MyModel.find_or_initialize_by_field1("fdsfdsfds")
现在我有了这个
MyModel.where(field1: "fdsfdsfds").find_or_initialize
现在在测试中导致异常:
undefined method `find_or_initialize' for #<ActiveRecord::Relation []>
但是在指南中,它没有说明应该在那里的其他内容。如何解决?
最佳答案
发生这种情况是因为当返回的结果是一个空数组时,您无法对其调用 find_or_initalize 方法。尝试:
MyModel.where(field1: 'asdfasdfasdf').first_or_initialize
关于ruby-on-rails - 关系的未定义方法 `find_or_initialize',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39577232/