为什么rails生成空模型?

我正在尝试生成一些模型,但它们是在没有属性的情况下生成的。

我使用的是linux系统,rails版本是:rails –version Rails 4.0.0

我尝试使用以下命令生成模型:

rails g scaffold Bsdsd description:string test:string oaso:integer 

 rails g model Asdsd description:string test:string oaso:integer 

第一个导致这个空类模型的其他一切正常:

 class Bsdsd < ActiveRecord::Base end 

第二个结果是测试文件,迁移文件(包含属性)和此类模型:

 class Asdsd < ActiveRecord::Base end 

我该如何纠正这种行为?

模型属性是从数据库列推断出来的,因此您不需要在模型类中指定它们。

在Rails 3.2中你有(如果我没记错的话)

 # attr_accessible :description, :test, :oaso 

线生成。 但受保护的属性在Rails 4.0中已弃用,并被强参数机制取代。

你所做的一切都是错的。 但是你正在检查错误的文件。 查找CreateAsdsdsMigration(在迁移目录中),您将看到自动生成的字段

对于那些来自Grails或Django的人,请注意Rails创建数据库FIRST–而不是相反,domainclass.groovy或models.py在您定义它们之后为您创建数据库表。 查找yourapp / db / schema.rb,里面是你的所有类及其字段定义。