大家好,周五快乐!我是Vipul,带来本周Rails的最新动态。让我们开始吧。
添加一个基本的会话生成器
此更改添加了一个新的会话生成器,用于通过数据库跟踪的会话提供身份验证系统的基本起点。
# Generate with...
bin/rails generate session
# Generated files
app/models/current.rb
app/models/user.rb
app/models/session.rb
app/controllers/sessions_controller.rb
app/views/sessions/new.html.erb
db/migrate/xxxxxxx_create_users.rb
db/migrate/xxxxxxx_create_sessions.rb
添加脚本文件夹和生成器
此拉取请求添加了一个新的默认script文件夹,用于存放一次性或通用脚本,例如数据迁移脚本、清理脚本等。
新的脚本生成器允许我们创建此类脚本
rails generate script my_script
生成脚本时,我们也可以指定一个文件夹
rails generate script cleanup/my_script
然后,我们可以使用以下命令运行生成的脚本:
ruby script/my_script.rb
从默认的app/结构中删除channels
现在Hotwire已成为Rails的默认设置,此更改从默认的app/结构中删除了channels文件夹。如果需要,在使用channel生成器时,该文件夹仍然会被创建。
删除默认权限策略初始化器
此更改删除了很少使用的默认permissions_policy配置文件。可以通过参考permissions_policy的文档,根据需要重新添加配置。
为迁移添加非空修饰符
此更改为迁移添加了一个非空修饰符,现在可以使用列类型后面的!来指定。
# Generating with...
bin/rails generate migration CreateUsers email_address:string!:uniq password_digest:string!
# Produces:
class CreateUsers < ActiveRecord::Migration[8.0]
def change
create_table :users do |t|
t.string :email_address, null: false
t.string :password_digest, null: false
t.timestamps
end
add_index :users, :email_address, unique: true
end
end
当未定义连接时,引发特定的异常
此更改使得提供程序化访问请求的分片/角色的详细信息更加容易。新的ConnectionNotDefined异常提供了连接名称、分片和角色访问器,指示了所请求连接的详细信息。
您可以在此处查看所有更改。
上周,我们有20位贡献者为Rails代码库做出了贡献!
下次再见!
订阅以通过邮件获取这些更新。