Ruby on Rails:如何在Rails中明确定义复数名称和单数名称?

sjs*_*jsc 50 ruby ruby-on-rails

例如,我使用"奖金"作为我的模型,所以我希望"奖金"是复数形式,"奖金"是单数形式.

但是,在Ruby中,这导致:

"bonus".pluralize # bonus
"bonuses".singularize # bonuse
Run Code Online (Sandbox Code Playgroud)

因此,当我执行"has_many:bonus"时,它不使用Bonus.rb模型(因为Ruby需要Bonuse.rb模型).有没有办法在Ruby on Rails中以某种方式纠正它,使得"奖金"充当模型bonus.rb的复数形式?

Pet*_*own 94

在config/initializers中,您将找到一个名为inflections.rb的文件.这里有一些说明,但你需要的是:

ActiveSupport::Inflector.inflections do |inflect|
  inflect.irregular 'bonus', 'bonuses'
end
Run Code Online (Sandbox Code Playgroud)