rails generate model User email:string password:string
查看已创建的迁移:
class CreateUsers < ActiveRecord::Base
def change
create_table :users do |t|
t.string :email
t.string :password
t.timestamps
end
end
end
从书&#34; Beginning Rails 4&#34;:&#34;这是标准的迁移费用。在更改定义中,使用create_table方法创建新用户表。 新表对象产生到块变量t ,在其上调用字符串方法来创建每一列&#34;
我想更详细地解释块变量t的确切位置。它是由create_table方法返回的(我想不是,但我不能想到其他任何东西)?
答案 0 :(得分:1)
来自文档:
# create_table() passes a TableDefinition object to the block.
# This form will not only create the table, but also columns for the
# table.
所以你看到的t
实际上是TableDefinition
类的一个对象。您可以在此处详细了解此课程:http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html
答案 1 :(得分:0)
您可以在do
和end
之间看到一个区块。在这种情况下,块变量在此处create_table :users do |t|
之间声明|
。