Ruby on Rails中的迁移文件中的以下简单代码:
def change
create_table :articles do |t|
t.string :title
end
我可以这样理解:
1:create_table
是内置的ruby(或Ruby on Rails?)来创建表
2::articles
是表名,很清楚
3:这对我来说是最重要的。 do |t|
意味着执行它背后的东西?这意味着do
将在数据库中添加表,并为其赋值t
???
答案 0 :(得分:1)
你在这里看到的是一个块,是ruby最强大的语言结构之一。调用create_table
时,第一个参数是表示表名称的符号,第二个参数是块(do
和end
之间的位)。假设这是Rails,您可以阅读有关该方法的更多信息here。管道指示t
是块参数,在这种情况下是指正在创建的表。
This answer更深入地了解了哪些块。