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

dfh*_*err 3 ruby activerecord ruby-on-rails ruby-on-rails-5

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

class CreateUser < ActiveRecord::Migration[5.1]
Run Code Online (Sandbox Code Playgroud)

[5.1]代表什么以及它是如何工作的?

这是Rails 5 的 ActiveRecord::Migration 中的 [5.0] 是什么意思的后续因为它没有解释这是如何合法的 ruby​​ 并且没有出现在使用[5.1]brackets

dfh*_*err 6

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

这是一类功能def self.[](version)ActiveRecord::Migration,它调用Compatibility.find(version)并用于向后兼容性。

以下是来自 GitHub 的代码参考: