我试图生成一些模型,但它们的生成没有属性。
我使用的是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
如何更正此行为?
答案 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,里面是你的所有类及其字段定义。