Ruby on rails Spree无法从部分服务器访问数据库?

Ruby on rails Spree无法从部分服务器访问数据库?,ruby-on-rails,spree,Ruby On Rails,Spree,我确信这与Spree加载的复杂性有关 但我的主要问题是,狂欢不能载入一个国家。对我来说,这是国家。查找(214)。如果我在我的远程控制台中检查它,我发现它没有问题。所有的国家,所有的州都在那里 但是如果我试图在控制器中设置Country.find(214)作为states(u controller#index),或者创建一个执行此操作的before_load方法,或者将其放入视图本身,它总是返回:Error(找不到ID为214的国家) 疯了,对吧?现在我想不出该怎么办。如果我做的是Country

我确信这与Spree加载的复杂性有关

但我的主要问题是,狂欢不能载入一个国家。对我来说,这是国家。查找(214)。如果我在我的远程控制台中检查它,我发现它没有问题。所有的国家,所有的州都在那里

但是如果我试图在控制器中设置Country.find(214)作为states(u controller#index),或者创建一个执行此操作的before_load方法,或者将其放入视图本身,它总是返回
:Error(找不到ID为214的国家)

疯了,对吧?现在我想不出该怎么办。如果我做的是Country=Country.first。我可以通过加载index.haml的空模板来实现它。所以这意味着它正在进入的某种国家存在


有人对为什么会发生这种情况有理论上的想法吗?我怎样才能绕过它呢?

很抱歉,时间有点晚了,但我无意中发现了你的帖子,并找出了问题的原因

214国是美国,出于某种原因,Spree默认为该国。这意味着,如果你没有加载USA,你会遇到这个问题

要解决此问题,您必须在初始值设定项中手动设置默认国家/地区:

Spree.config do |config|
  Spree::Config.default_country_id = Spree::Country.find_by_name("Singapore").id
end
我希望你现在已经解决了这个问题。:)

#您还可以设置以下选项

config.site_name = "Teamer Store"
config.override_actionmailer_config = true
config.enable_mail_delivery = true

end

我会检查正在执行的SQL—可能正在应用一个作用域。它是sqlite3。应用程序的整个其余部分都可以很好地加载。但我想你的评论是关于更具体的事情。你有狂欢的经验吗?你认为这个作用域应该应用到哪里?我一生中从未使用过它,但检查生成的sql是我开始寻找的地方。
config.site_name = "Teamer Store"
config.override_actionmailer_config = true
config.enable_mail_delivery = true

end