Ruby on rails ActiveRecord迁移后的括号[5.1]是什么?它是如何工作的?

Ruby on rails ActiveRecord迁移后的括号[5.1]是什么?它是如何工作的?,ruby-on-rails,ruby,activerecord,ruby-on-rails-5,Ruby On Rails,Ruby,Activerecord,Ruby On Rails 5,使用bin/rails g migration CreateUser生成新迁移时,第一行如下所示: class CreateUser < ActiveRecord::Migration[5.1] class CreateUser

使用
bin/rails g migration CreateUser
生成新迁移时,第一行如下所示:

class CreateUser < ActiveRecord::Migration[5.1]
class CreateUser
[5.1]
代表什么?它是如何工作的


这是后续内容,因为它没有解释这是如何合法的ruby,也没有使用
[5.1]
括号显示在搜索中

这是Rails 5引入的新迁移版本。该数字表示创建迁移时使用的迁移版本,在本例中为版本
5.1
,应与Rails版本
=5.0
一起使用

这是
ActiveRecord::Migration
的类函数
def self.[(版本)
,它调用
Compatibility.find(版本)
,用于向后兼容

以下是GitHub的代码引用: