繁体   English   中英

在Hanami 1.0.0上运行的WEBrick显示由于错误的变形而导致的错误

[英]WEBrick run on hanami 1.0.0 shows errors because of wrong inflection

我用hanami generate model stimulus生成了模型, hanami generate model stimulus 然后,我在迁移文件名以及表名的内部将“刺激”固定为“刺激”。

每次加载页面时,都会在服务器控制台窗口中收到此错误:

[ROM :: Relation [Stimuluses]]无法推断架构。 在设置ROM容器之前,请确保存在表。 当您的迁移任务加载ROM容器时,也可能会发生这种情况,因为只需要连接,迁移就不需要此容器(模式解析不返回任何列,表“刺激”可能不存在)

我查看了这些库,发现此功能具有Inflecto库。 然后,我尝试将两者都添加到hanami项目中:

# /config/initializers/inflecto.rb
require 'inflecto'

Inflecto.inflections do |inflect|
  inflect.irregular('stimulus', 'stimuli')
end

并编辑默认库文件:

# gems/inflecto-0.0.2/lib/inflecto/defaults.rb
Inflecto.inflections do |inflect|
  ...
  inflect.irregular('stimulus', 'stimuli')
  ...
end

但是,重新启动服务器后,该消息仍然存在。

这是我应该解决的问题吗?如果是,该怎么做?

编辑:

还尝试了:

# /config/initializers/inflector.rb
require 'hanami/utils/inflector'

Hanami::Utils::Inflector.inflections do
  exception 'stimulus', 'stimuli'
end

我假设我们正在谈论Hanami v1.0.0,对吗?

您几乎成功了。 令您震惊的是,执行hanami命令时似乎未加载初始化程序,并且可能会在代码重新加载时出现错误 因此,代替初始化器,将其放到执行hanami命令时加载的文件中,或者在此类位置需要初始化器文件时即可。 例如,

# config/initializers/inflections.rb
require 'hanami/utils/inflector'

Hanami::Utils::Inflector.inflections do
  exception 'stimulus', 'stimuli'
end

然后在您的环境文件中

# config/environment.rb
# ...
require_relative 'initializers/inflections.rb'
# ...

我不确定这是否是放置自定义拐点规则的好地方,但至少它能起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM