なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2015/06/28)

2015/06/28分のコミットです。

CHANGELOGへの追加はありませんでした。


Maintaining consistency in wordings [ci skip]

rails guideのContributing to Ruby on Railsの修正です。

Creating a Bug Reportの項の言い回しを修正しています。


Merge pull request #20276 from davetron5000/revert-head-on-no-template

actionpack/lib/action_controller/metal/implicit_render.rbの修正です。

default_renderメソッドに、テンプレートが見つからなかった場合に実行する処理を定義する為のブロックを渡せるよう修正しています。

default_render do
  head 404 # No テンプレートが見つからなかった場合に404を返す
end

Improve error messages in cookies_test

actionpack/test/dispatch/cookies_test.rbの修正です。

テスト用メソッドassertを使用していたのを、より正確なエラーメッセージが表示されるようにする為に、assert_predicateassert_matchを使用するよう修正しています。


Revert the behavior of association names and where to be closer to 4.2

activerecord/lib/active_record/table_metadata.rbの修正です。

whereメソッドにアソシエーション名を指定出来るようにした対応をrevertしています。

元々masterブランチでのARでは、whereメソッドにアソシエーション名を指定出来るような対応が含まれていました。

例。

class Post < ActiveRecord::Base
  has_many :comments
  has_many :approved_comments, -> { where(approved: true) }, class_name: "Comment"
end

class Comment < ActiveRecord::Base
  belongs_to :post
end

Post.includes(:comments, :approved_comments).where(approved_comments: {post_id: 1}).to_a
# => `comments`テーブルの`post_id`が1のデータが取得出来る

しかし、今のままでは元々の挙動を壊してしまうケースがあり、正しく対応しようとすると大幅な見直しが必要で、Rails 5.0には間に合わ無さそうなので、 一旦振る舞いを4.2までの振る舞いと同じ内容に戻した、との事です。


updates a migration example in the Getting Started guide [ci skip]

rails guideのGetting Started with Railsの修正です。

referencesマイグレーションについて説明している箇所に、外部キー制約についての説明を追加しています。


[ci skip] Fix action_controller_overview

rails guideのAction Controller Overviewの修正です。

Other Ways to Use Filtersの項、グラマーの修正を行っています。