最近,我一直在Rails 5项目中使用下一个初始化程序:
initializers / initialize_configs.rb
$current_city = Config.first.city
但是在进行一些更改之后,我不得不安装db:migrate和db:seed,然后出现了这个错误。在那之前,我的应用程序运行良好。
Config是仅用于单行的表,我在其中保存每个VPS的配置,而$ current_city也是每个VPS拥有的变量。
问题是当我使用rails db:seed时会显示此错误,因此我无法加载初始配置。
如何在仍然加载此初始达达数据的同时解决问题?
答案 0 :(得分:1)
运行rails db:seed
时会初始化Rails,否则您将无法在该文件中使用Rails模型。这就是造成您问题的原因。因为在该初始化过程中,Config.first.city
必须失败,因为数据库中还没有数据。
目前尚不清楚为什么需要从数据库加载应用程序的配置。其他人已经指出,这是有问题的,感觉像是代码的味道。
尽管如此,目前您有两个选择:
Config.first
为空的情况。例如,使用合理的默认值。