这是在我的应用中创建模型时是否发生错误的问题。
我以通常的方式创建了一个模型
rails g model Media
现在我认为这实际上会创建以下
class CreateMedias < ActiveRecord::Migration
def change
create_table :medias do |t|
t.timestamps
end
end
end
但它没有创建
class CreateMedia < ActiveRecord::Migration
def change
create_table :media do |t|
t.timestamps
end
end
end
我认为该模型表示为单一媒体,但数据库由许多媒体组成。为什么迁移不会改变为媒体?是否最好删除此模型并再次尝试或这是正常的行为?
由于
答案 0 :(得分:5)
Media是Medium的复数形式。
干净的方法是为表名提供 Medium 模型和 Media 。
答案 1 :(得分:2)
媒体作为数据类型是不可数的。所以你可以添加变形。
只需将更多代码放入config/initializers/inflection.rb
ActiveSupport::Inflector.inflections(:en) do |inflect|
inflect.uncountable 'media'
end