嗨,各位,星期五快乐! 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/ 结构中移除管道
现在 Hotwire 已成为 Rails 中的默认值,此更改从默认的 app/
结构中删除了 channels
文件夹。在必要时使用 channel
生成器时,仍会创建该文件夹。
删除默认权限策略初始化程序
此更改删除了很少使用的默认 permissions_policy
配置文件。可以根据需要使用 permissions_policy
的文档重新添加配置。
为迁移添加非 null 修饰符
此更改为迁移添加了一个非 null 修饰符,我们现在可以使用 !
在列类型后指定该修饰符
# 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 代码库!
下一次见!
订阅 以获取通过邮件发送的这些更新。