なるようになるブログ

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

rails commit log流し読み(2016/08/11)

2016/08/11分のコミットです。

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


Merge pull request #26092 from kerrizor/kerrizor/force-param-encoding

Action Packの修正です。

action毎に、parametersのencodingを指定出来るよう修正しています。デフォルトは今まで通りUTF-8ですが、UTF-8以外のencodingを使用したい場合は、parameter_encodingメソッドを使用する事で対応出来るようになっています。

class ArticlesController < ApplicationController
  parameter_encoding :show, :param1, Encoding::ASCII_8BIT

  def show
    params[:param1].encoding # => #<Encoding:ASCII-8BIT>
    params[:param2].encoding # => #<Encoding:UTF-8>
  end
end

parameter_encodingメソッドには、encodingを変えたいメソッド名、パラメータ名、及び使用したencodingを指定する必要があります。

因みに、PRを出した方はGitHubの中の方のようで、GitHubではparameterのencodingがUTF-8じゃない場合があるため、この対応を行ったとの事です。へー。


Minor doc fix related to ActiveModel::SecurePassword [ci skip]

rails guideのActive Model Basicsの修正です。

SecurePasswordのexampleに、passwordのみを設定(password_confirmationは設定しない)した場合のexampleを追加しています。


prefer dir over FILE in File.expand_path

コンポーネントのテスト用スクリプトの修正です。

コンポーネントディレクトリを取得するのに__FILE__を使用していたのを、__dir__を使用するよう修正しています。

-COMPONENT_ROOT = File.expand_path("../../", __FILE__)
+COMPONENT_ROOT = File.expand_path("..", __dir__)

Fix actionview test failure

actionview/lib/action_view/test_case.rbactionview/test/actionpack/controller/view_paths_test.rbの修正です。

Merge pull request #26092 from kerrizor/kerrizor/force-param-encodingの対応の影響でコケてしまっていたテストがあったのを修正しています。


add missing require rake

railties/lib/rails/engine/commands_tasks.rbの修正です。

Defer requiring Rake until it's needed.で、実際にrakeが必要になってからrakeのrequireを行うよう修正したのですが、Rails Engine側のcommand proxyでrakeのrequireを行うのが漏れていたので、追加しています。