gpt4 book ai didi

ruby-on-rails - rails 迁移中的 create_table 是一个循环吗?

转载 作者:数据小太阳 更新时间:2023-10-29 08:44:33 24 4
gpt4 key购买 nike

当我生成模型时:

rails g model Post title content favorite:boolean

Rails 创建一个如下所示的迁移文件:

class CreatePosts < ActiveRecord::Migration
def change
create_table :posts do |t|
t.string :title
t.string :content
t.boolean :favorite

t.timestamps null: false
end
end
end

有一个 create_table(:posts),我一直想知道它的外观和行为像一个循环。但是我还没有在 ruby​​ 语言中找到任何提到看起来像这样的循环的东西:

create_table() do
# ...
end

我发现了 each 循环、times 循环、while 循环等...以及许多其他循环,但我从未见过这个循环或任何在实际 Ruby 语言中看起来相似的循环。这实际上是我忽略的 Ruby 语言的一部分,还是由 ActiveRecord 和/或 Rails 创建的?如果像这样的循环是创建的但不是内置的,他们是怎么做到的(即:如何创建看起来像这样的自定义循环)?

最佳答案

不,这不是循环。 create_table只是 ActiveRecord::ConnectionAdapters::SchemaStatements 中的一个方法类。

来自doc :

There are two ways to work with create_table. You can use the block form or the regular form.

以下只是使用 create_table 方法的 block 形式,您可以在其中将 block 传递给它:

create_table(:table_name) do
# ...
end

关于ruby-on-rails - rails 迁移中的 create_table 是一个循环吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34080916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com