2015/10/27分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- Exit with non-zero status for failed database rake tasks.
- Add option to index errors in nested attributes
[ci skip] Fix method documentation location
activerecord/lib/active_record/associations/preloader.rb
の修正です。
Preloader#preload
メソッドの実装とdocの間にNULL_RELATION
定数があったのを、定数の位置を動かして、実装とdocが連続するよう修正しています。
Merge pull request #19924 from iamvery/db-tasks-exit-status
activerecord/lib/active_record/tasks/database_tasks.rb
、
activerecord/lib/active_record/tasks/sqlite_database_tasks.rb
の修正です。
DBのcreate / drop用rakeタスクで、処理が失敗した場合に、exit statusに0ではなく1を設定するよう修正してます。
&&
で複数のコマンドまとめて実行する(bin/rake db:setup && bin/rspec
とか)際に、exit statusが0だと正常と判定されて不味いんですねえ。
Edits default config/boot.rb
to match what's generated by Rails 4.2.
rails guideのThe Rails Initialization Process
の修正です。
guideに記載されているconfig/boot.rb
の内容を、実際生成されるconfig/boot.rb
の内容と合わせるよう修正しています。
Merge pull request #19686 from tsun1215/index_errors
activerecord/lib/active_record/associations/builder/has_many.rb
、
activerecord/lib/active_record/autosave_association.rb
の修正です。
nested attributesでエラーになった際に、エラーメッセージにインデックスを表示出来るよう対応しています。
例。
class Guitar < ActiveRecord::Base has_many :tuning_pegs, index_errors: true accepts_nested_attributes_for :tuning_pegs end class TuningPeg < ActiveRecord::Base belongs_to :guitar validates_numericality_of :pitch end
# 元々のエラーメッセージ(インデックス無し) `guitar.errors["tuning_pegs.pitch"] = ["is not a number"]` # 対応後(インデックスあり) `guitar.errors["tuning_pegs[1].pitch"] = ["is not a number"]`
インデックスの表示はデフォルトではfalse
になっており、associationsにindex_errors
オプションを指定するか、または、グローバルのconfig.active_record.index_nested_attribute_errors
にtrue
を設定すると表示されるようになります。
[ci skip] Add doc to preloaders_on
activerecord/lib/active_record/associations/preloader.rb
のdocの修正です。
Preloader#preloaders_on
メソッドにdocを追加しています。
[ci skip] Clarify doc for preloaders_for_one
activerecord/lib/active_record/associations/preloader.rb
のdocの修正です。
Preloader#preloaders_for_one
メソッドのdocにロード処理についての説明、及び各preload classのrun
メソッドが呼ばれる旨説明を追加しています。
[ci skip] Add doc for preloader_for
activerecord/lib/active_record/associations/preloader.rb
のdocの修正です。
Preloader#preloaders_for
メソッドにdocを追加しています。
Merge pull request #21994 from mtodd/inherit-scopes
activerecord/test/cases/inheritance_test.rb
の修正です。
scope
の継承についてのテストが正しく行われていなかった(ActiveRecord::Relation
はlazily loadの為、実際の処理を呼び出さないと評価されなかった)のを修正しています。
が、テストが直した結果テストが壊れてしまった為、直後にrevertされています。
Revert "Merge pull request #21994 from mtodd/inherit-scopes"
というわけで、テストが壊れてしまった為、直前のコミットをrevertしています。
Remove skipped JRuby tests that are passing on 9.0.3.0.
Action Packの修正です。
幾つかのテスト(static fileに英語名のファイル名を指定したテスト、content typeにutf-16
を指定したテスト等)がJRubyで動かないのでスキップしていたのですが、JRuby 9.0.3.0では動作するようになっていたので、スキップ処理を削除しています。
raise ArgumentError
when SECRET_KEY_BASE
is an integer
railties/lib/rails/application.rb
の修正です。
SECRET_KEY_BASE
にstring以外の値が指定された場合に、ArgumentError
をraiseするよう修正しています。
[ci skip] Aline code examples in AR changelog
activerecord/CHANGELOG.md
の修正です。
CHANGELOG内のexampleコードのインデントを整理しています。