为什么rails生成空模型?

时间:2013-10-11 17:22:35

标签: ruby-on-rails ruby ruby-on-rails-4

我试图生成一些模型,但它们的生成没有属性。

我使用的是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

如何更正此行为?

3 个答案:

答案 0 :(得分:7)

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

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

# attr_accessible :description, :test, :oaso

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

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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