运行rails生成scaffold不会生成模型
如果我输入(完全复制/粘贴“rails g scaffold –help”)
rails generate scaffold purchase amount:decimal tracking_id:integer:uniq
然后创建控制器,视图,创建模型..但它不包含任何属性。 它实际上包含:
class Purchase < ActiveRecord::Base end
我错过了什么吗?
版本
Rails 3.2.0
ruby 1.8.7(2010-01-10 patchlevel 249)[universal-darwin11.0]
Mac OSX Lion
这实际上是正确的。 通常,如果你正在制作一些随机的Ruby程序并且你创建了一个类,你可能想要抛出一些实例变量等,但现在它在Rails中是如何工作的。 模型既是类,也是数据库表。
在db/migrate
您将看到在您的数据库中创建Purchase表的迁移文件,在里面您将看到它生成您要求的列。 将数据保存到数据库时,您将保存实例化对象(通常)。
打开Rails控制台(在您的终端中键入rails console
)并尝试以下操作:
Purchase.count Purchase.create!(:tracking_id => 1) Purchase.count my_purchase = Purchase.first my_purchase.tracking_id
您将首先看到数据库中有0个购买对象/行。 然后,您可以创建一个,并为您的实例变量(跟踪ID)传入一个值。 再次检查计数时,您将看到1.当您抓取项目中的第一个(也是唯一的)项目时,您将能够使用动态tracking_id方法作为访问者。
我建议你更多地阅读Rails以了解更多关于为什么这是正确的和正在发生的事情。
- 如何使用belongs_to / has_many关系在Active Admin索引中显示关联模型的属性(Rails 3.2 / Active Admin)
- 编码:: UndefinedConversionError:“\ xE4”从ASCII-8BIT到UTF-8
- 迁移:t.references不允许指定索引名称
- 如何在1次呼叫中急切加载两级关联?
- 当我运行`bundle exec rake test:prepare`它出错了,但是`bundle exec rake db:test:prepare`会很好地发出警告。 这是怎么回事?
- Ruby on Rails – 使用AJAX获取数据的jQuery
- Rails在AngularJS中路由参数
- Prawn + Prawnto问题
- rmagick导致服务器关闭