我正在尝试生成一个名为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"
还是有其他问题我没看到?
答案 0 :(得分:2)
这是解决方法,您需要将其放在inflections.rb
的{{1}}文件中。所以你的config/initializers/
将是
ActiveSupport::Inflector.inflections do |inflect| inflect.uncountable %w( attendance class_attendance ClassAttendance) end