大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – Rack :: Test导致ActiveRecord :: AssociationTypeMismatch,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
ActiveRecord::AssociationTypeMismatch: Affiliate(#2154746360) expected,got Affiliate(#2199508660)
看来我的模型正在加载两次.
我已经分离出了Rack :: Test要定义“app”方法的问题.
require 'rack/test' include Rack::Test::Methods # app method is needed for rack-test def app Rails.application end
如果我评论Rails.application我的机架规格不起作用,但我的其他规格都可以正常工作.在“app”方法中使用Rails.application引入了上面的错误.
如果我单独运行我的规格,一切都可行.我用Spork预装了我的环境,我认为模型首先由Spork加载,然后当我的“app”方法调用Rails.application时,它们被重新定义.
关于我如何解决这个问题的任何想法?我不知道是否有另一种方式设置我的Rails应用程序在“应用程序”方法.
# File railties/lib/rails.rb,line 34 def application @@application ||= nil end
这意味着Rails.application每次返回相同的对象.也许这是问题 – 在同一个Rails应用程序与对象冲突时运行多个测试.
Some tutorials集测试如下:
def app Rails::Application end
而others这样做:
def app ActionController::Dispatcher.new end
这两个都为每次调用应用程序创建新对象.
编辑:刚从注意到ActionController :: Dispatcher.new被标记为已弃用.
以上是大佬教程为你收集整理的ruby-on-rails – Rack :: Test导致ActiveRecord :: AssociationTypeMismatch全部内容,希望文章能够帮你解决ruby-on-rails – Rack :: Test导致ActiveRecord :: AssociationTypeMismatch所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。