なるようになるブログ

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

rails commit log流し読み(2019/01/23)

2019/01/23分のコミットです。

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


MySQL 8.0.14 adds ER_FK_INCOMPATIBLE_COLUMNS

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

foreign keyのエラーとみなすエラーコードの一覧にER_FK_INCOMPATIBLE_COLUMNS(3780)を追加しています。

MySQL 8.0.14から、互換性が無いカラムに対してforeign key constraintを指定した場合のエラーコードが、上記エラーコードになった為。

参考:MySQL :: MySQL 8.0 Reference Manual :: B.3 Server Error Message Reference


Changed webserver to web server.

各箇所のwebserverをweb serverに修正しています。タイポの修正かというと微妙なのですが、webserverweb server`両方の表記があった為、表記統一のため修正しています。


Revert ensure external redirects are explicitly allowed

redirect_toメソッドで明示的に許可されている場合のみ外部サイトへのredirectを許可するよう修正した、Ensure external redirects are explicitly allowedをrevertしています。

open redirect attacksへの対策として導入された対応だったのですが、これにより、まっとうに外部ホストへのリダイレクトをしたい場合に複雑になってしまう(必ずオプションの指定が必須になってしまう)為、アプローチを再検討するとの事です。

参考:Add better external host security approach to redirect_to


Merge pull request #34952 from rails/template-stuff

Action Viewの修正です。

compiled templatesの保持の仕方や、renderの引数等のtemplate handlerに関する処理の諸々をリファクタリングしています。

この対応に依存した違う対応があるらしく、とりあえずこの対応はテストが通ったのマージされています。


Merge pull request #35020 from alkesh26/ationpack-typo-fixes

Action Packの修正です。

confliciting -> conflicting等のタイポを修正しています。


Fix NumericalityValidator on object responding to to_f:

activemodel/lib/active_model/validations/numericality.rbの修正です。

to_fが定義されているPlainなRuby Objectをnumericality validatorに指定した場合に、元々チェックが正しく行われていたのが、Rails 6.0で正しく行われないようになっていたのを修正しています。

元々は、内部でto_fが呼ばれるKernel.Floatを使用していた為チェックが正しく行われていたのですが、Fix numericality equality validation on floatsBigDecimalを使うよう変更され、その影響で動作しなくなってしました。再度Kernel.Floatを使用するよう修正し対応しています。


Corrected spelling of ActionCable::Connection::TestCase

rails guideのTesting Rails Applicationsの修正です。

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


Subdomains of localhost are safe against DNS rebinding

railties/lib/rails/application/configuration.rbの修正です。

developmentで、ActionDispatch::HostAuthorizationがアクセスを許可するドメインのリストにlocalhostのsubdomainを追加しています。

localhost subdomainはDNS rebindingに対して安全である、かつ、developmentでapi.localhostproject1.localhostのようはsubdomainを使って開発する事がある為、との事です。


Fix attribute typo in ActionCable connection test request

actioncable/lib/action_cable/connection/test_case.rbの修正です。

ActionCable::Connection::TestRequest classで、cookie_jarに対するattrの定義を複数回行ってしまっていたのを修正しています。