なるようになるブログ

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

rails commit log流し読み(2015/03/22)

2015/03/22分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activerecord/CHANGELOG.md


Rework form helper example to use Person.new

actionview/lib/action_view/helpers/form_helper.rbのdocの修正です。

先日修正されたform helperのexampleを再度修正しています。

-    #   @person = Person.create(params[:person])
-    #   if @person.valid?
+    #   @person = Person.new(params[:person])
+    #   if @person.save

create + valid?の組み合わせだとvalidationが二回発生してしまいexampleとして良く無いので、通常良く使うnew + saveの組合せの方がexampleとして良いだろう、という事で修正したようです。


Merge pull request #19443 from radanskoric/fix-am-errors-deprecation


Actually rename to rake initializers

railties/lib/rails/tasks/initializers.rakeの修正です。

先日rake initializer -> rake initializersにタスク名の修正を行ったのですが、doc等だけ修正し、実際のタスク名の方の修正が漏れていたので、改めて修正を行っています。


Delegate limit to subtype

activerecord/lib/active_record/connection_adapters/postgresql/oid/array.rbの修正です。

PostgreSQLのarray型 + limitを使用していた場合(ex: t.integer :big_int_data_points, limit: 8, array: true)に、limitの情報がschema.rbに出力されないバグがあったのを修正しています。


Merge pull request #19442 from joevandyk/patch-1

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

find_or_create_byメソッドのexampleで、ユニークな値を取得する場合のexampleにtransaction処理を追加しています。

     #  begin
-    #    CreditAccount.find_or_create_by(user_id: user.id)
+    #    CreditAccount.transaction(requires_new: true) do
+    #      CreditAccount.find_or_create_by(user_id: user.id)
+    #    end
     #  rescue ActiveRecord::RecordNotUnique
     #    retry

並列にデータ作成する場合のexampleなので、そもそもtransactionを作成しておかないと期待通りは動作しない為、追加したようです。


Fix typo in belongs_to_required_by_default config's CHANGELOG entry [ci skip]

railties/CHANGELOG.mdの修正です。

belongs_to_required_by_defaultbelongs_to_requred_by_defaultにタイポしていた箇所があったのを修正しています。


[ci skip] Change the null to a not null constraint

rails guideのActive Record Migrationsの修正です。

change_column_nullメソッドの説明を、"カラムをnullにする"、から、"カラムをnot null制約に変える"、に修正しています。