なるようになるブログ

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

rails commit log流し読み(2017/08/03)

2017/08/03分のコミットです。

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


Merge pull request #29984 from colorfulfool/form-helpers-unicode-sanitization

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

collection_radio_buttonscollection_check_boxesのvalueに英語以外の値を指定出来るよう、サニタイズ処理を修正しています。

          def sanitized_value(value)
-            value.to_s.gsub(/\s/, "_").gsub(/[^-\w]/, "").downcase
+            value.to_s.gsub(/\s/, "_").gsub(/[^-[[:word:]]]/, "").mb_chars.downcase.to_s
           end

Handling add/remove to/from migration edge cases

activerecord/lib/rails/generators/active_record/migration/migration_generator.rbの修正です。

table名にtofromが含まれている場合に、migration generatorが正しくmigrationファイルを生成出来ない(生成されるmigrationファイルのテーブル名がおかしい)バグがあったのを修正しています。

例えば、blacklisted_from_campaignsというテーブルがあった場合に /rails g migration add_email_address_to_blacklisted_from_campaign email_address:string migrationを生成した場合:

before

class AddEmailAddressToBlacklistedFromCampaign < ActiveRecord::Migration[5.2]
 def change
   add_column :campaigns, :email_address, :string
 end
end

after

class AddEmailAddressToBlacklistedFromCampaign < ActiveRecord::Migration[5.2]
  def change
    add_column :blacklisted_from_campaigns, :email_address, :string
  end
end