惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
Hugging Face - Blog
Hugging Face - Blog
小众软件
小众软件
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
IT之家
IT之家
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
人人都是产品经理
人人都是产品经理
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园_首页
V
Visual Studio Blog
Last Week in AI
Last Week in AI
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
博客园 - 司徒正美
大猫的无限游戏
大猫的无限游戏
博客园 - 【当耐特】
MyScale Blog
MyScale Blog
月光博客
月光博客

Ruby on Rails: Compress the complexity of modern web apps

Safer to_i coercion, custom to_fs formats, and more! This Week in Rails: May 16, 2026 This Week in Rails: May 8, 2026 This Week in Rails: May 1, 2026 Active Record gets better every week Great big Rails World 2026 update: CFP, Corporate Support tickets, workshops Query command for database queries and more Explicit query: and body: kwargs for integration tests and more! Speedup ActiveRecord::LogSubscriber#sql_color and more! This Week in Rails: March 27, 2026 Rails Versions 8.0.5 and 8.1.3 have been released! Rails Versions 7.2.3.1, 8.0.4.1, and 8.1.2.1 have been released! This Week in Rails: March 20, 2026 Validate URI scheme in Action Text and more This Week in Rails: March 6, 2026 Planning Center is the newest Rails Foundation Contributing member Action Text gets Markdown conversion, editor links in devcontainers, and more! BARRA seeks Rails developer Joe Agliozzo is looking for a Rails developer The rise of lighttpd as the alternative web server When longer is better and more is more Snowdevil: First e-tailer on Rails Natural selection for frameworks in Ruby vs Java Address book tutorial in Portuguese Becoming a better programmer with Rails 10 Things Every Java Programmer Should Know About Ruby Really Getting Started in Rails Off the Treadmill, Onto the Rails Rails 0.9.5: A world of fixes and tweaks Rich clients with Rails and XUL
TestFixtures#fixture_path deprecation, FinderMethods#find...
David Heinemeier Hansson · 2023-03-18 · via Ruby on Rails: Compress the complexity of modern web apps

Saturday, March 18, 2023
Posted by Emmanuel Hayford

Kaixo! Long time no see. Emmanuel Hayford here. This week, a lot happened in Rails, so much so that to keep this edition short, I’ve had to cut some equally good pull requests out. Here’s what I have for you today:

Allow querying by the whole record for composite query constraints Suppose you have defined an association between two models, BlogPost and Comment, with composite query constraints using the has_many method:

class BlogPost   has_many :comments, query_constraints: [:blog_id, :blog_post_id] end

You can now query blog posts that are associated with a specific set of comments by passing the comments objects as a parameter to the where method:

comments = Comment.first(2) BlogPost.where(comments: comments).to_a For the time being, however, association types like belongs_to, has_one, has_many_through and polymorphic associations are not covered. You can take a dig at this if you fancy!

ActiveRecord::FinderMethods#find support for composite pk values ActiveRecord::FinderMethods#find now supports passing sets of composite primary key values like:

Cpk::Book.find([[1, 1], [1, 2]])

and treats values as values of the composite primary key columns but only for models with the primary_key being an Array.

Use Thor for built-in restart task This is part of an effort to migrate bin/rails from Rake to Thor, but a nice side-effect of this change is that you can now call bin/rails restart outside of the app directory, like so:

my_app/bin/rails restart

Adds documentation for Arel::Nodes::Node Arel is a private API, meaning there haven’t been any meaningful efforts to document it in the past. This hasn’t stopped gem authors and application programmers from using it – we might as well document it, and that is what this pull request does with a significant portion of some documentation for Arel for anyone who needs it.

Introduce TestFixtures#fixture_paths In this one, we deprecate TestFixtures#fixture_path in favour of TestFixtures#fixture_paths.

With this update, it is now possible to specify multiple fixture paths in your Rails application by using the fixture_paths accessor. By default, the test/fixtures directory will continue to serve as the primary fixture path for your app. However, if you need to include fixtures from other directories, you can specify additional fixture paths using the fixture_paths method.

This allows for something like:

ActiveSupport::TestCase.fixture_paths << “component1/test/fixtures” ActiveSupport::TestCase.fixture_paths << “component2/test/fixtures”

Delegated Type supports customisable foreign_type column The {role}_class method now respects the foreign_type option when used with the delegated_type method. This means that you can use delegated_type with non-conventional {role}_type column names by specifying the foreign_type option. This option is forwarded to the underlying belongs_to association that delegated_type wraps, allowing you to specify the name of the foreign key type column.

I’d like to share some conference news: RailsConf Atlanta is coming up on April 24th - April 26th 2023, you can still buy your tickets now if you plan on attending. RubyKaigi is also not far off on May 11th - 13th, 2023.

We saw 32 contributors this past week! See you next week.

Your weekly inside scoop of interesting commits, pull requests and more from Rails.

Subscribe to get these updates mailed to you.