2

我正在尝试生成一个名为 的模型ClassAttendance,但 Rails 一直在命名迁移class_attendances。我尝试通过将以下代码放入以下代码来纠正此问题\config\initializers\inflections.rb

ActiveSupport::Inflector.inflections do |inflect|
  inflect.uncountable "attendance"
end

这似乎在 rails 控制台中工作正常:

$ rails console
Loading development environment (Rails 3.2.6)
irb(main):001:0> "attendance".pluralize
=> "attendance"

不幸的是,rails 模型生成器似乎不受影响:

$ rails generate model ClassAttendance 
      invoke  active_record
      create    db/migrate/20120806201910_create_class_attendances.rb
      create    app/models/class_attendance.rb
      invoke    rspec
      create      spec/models/class_attendance_spec.rb

它与此有关吗?

irb(main):002:0> "class_attendance".pluralize
=> "class_attendances"

还是我没有看到其他问题?

4

1 回答 1

2

这是解决方法,您需要将其inflections.rb放在config/initializers/. 所以你config/initializers/inflections.rb会是

ActiveSupport::Inflector.inflections 做 |inflect|
  inflect.uncountable %w( 出勤等级_attendance ClassAttendance)
结尾
于 2012-08-06T20:52:45.200 回答