なるようになるブログ

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

rails commit log流し読み(2015/07/25)

2015/07/25分のコミットです。

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

activerecord/CHANGELOG.md


destroy shouldn't raise when child associations fail to save

ActiveRecordの修正です。

associationを使用している + dependentオプションにdestroyを指定している際に、親レコードをdestroyメソッドを使用して削除した場合に、子レコードでExceptionをraiseせず、正しくnilを返すよう修正しています。

本来、destroy!ではなくdestroyを使用しレコードの削除でエラーになった場合、Exceptionをraiseせずnilを返すのが想定されていた挙動なのですが、子レコードの削除を失敗した場合に、Exceptionがraiseされてしまっていた為、修正したようです。


Merge pull request #21007 from clayton-shopify/fix-mailto-encoding

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

RFC 6068 section 2によると、mailtoスキームを使用する場合、addressに特殊文字が使用されていた場合、エンコードされているべきなのですが、mail_toメソッドエンコード処理をしていなかった為、エンコード処理を行うよう修正しています。

# before
mail_to("#!$%&'*+-/=?^_`{}|~@example.org")
# => "<a href=\"mailto:#!$%&amp;&#39;*+-/=?^_`{}|~@example.org\">#!$%&amp;&#39;*+-/=?^_`{}|~@example.org</a>"

# after
mail_to("#!$%&'*+-/=?^_`{}|~@example.org")
# => "<a href=\"mailto:%23%21%24%25%26%27%2A%2B-%2F%3D%3F%5E_%60%7B%7D%7C%7E@example.org\">#!$%&amp;&#39;*+-/=?^_`{}|~@example.org</a>"