2016/11/22分のコミットです。
CHANGELOGにのったコミットは以下の通りです。
- deep symbolize keys on secrets.yml
- Removed jquery-rails from default stack, instead rails-ujs is included as default UJS adapter.
update bin/test scripts to prevent double runs.
各コンポーネント配下のbin/test
スクリプト、及びtools/test.rb
の修正です。
bin/test
スクリプトで直接Minitest.run
を呼んでいたのをやめて、active_support/testing/autorun
を使用してテストを実行するよう修正しています。test runner自体がautorunを呼ぶように変更されており、テスト実行用スクリプトでMinitest.run
を呼ぶとテストが2回実行されてしまう為。
RELEASING_RAILS.md
の修正です。
リストの行末から不要なピリオドを削除しています。
Add form_with to unify form_tag/form_for. (#26976)
Action Viewの修正です。
form helperに、form_tag
及びform_for
を統一して使えるform_with
メソッドを追加しています。
# form_tagのように使う場合 <%= form_with scope: :post, url: super_special_posts_path %> # form_forのように使う場合 <%= form_with model: @post do |form| %> <%= form.text_field :title %> <% end %>
form_tag
、form_for
が似たようなインターフェースになっているので、別のメソッドではなく一つのメソッドで両方使えた方が良いよね、という事で追加されています。今の所はform_tag
/ form_for
はdeprecateになっていないので、どちらも引き続き使用できます。因みにさらっとdata-remote
がデフォルトでtrueになっていたりします。
また、合わせて、form helperにfields
メソッドを追加しています。
<%= fields :comment, model: @comment do |fields| %> <%= fields.text_field :title %> <% end %>
fields_for
と同様、form_with
配下で異なるモデルを編集するのに使用出来ます(実際fields
メソッド内部ではfields_for
メソッドを呼び出しています)。
[ci skip] Mention form_with
and fields
in changelog.
先ほどのform_with
及びfields
の対応についてCHANGELOGにentryを追加しています。
deep symbolize keys on secrets.yml
ailties/lib/rails/application.rb
の修正です。
secrets.yml
を読み込む際、symbolize_keys
メソッドではなくdeep_symbolize_keys
を使用するよう修正しています。これにより、全てのkeyをsymbolで扱えるようになっています。
development: smtp_settings: address: "smtp.mailgun.org" port: 587 domain: "example.com" authentication: "plain" enable_starttls_auto: true user_name: "postmaster@mailgun.example.com" password: "12d3f673e0a83c97045eb4e2d10ebc8a4"
# before {:smtp_settings=>{"address"=>"smtp.mailgun.org", "port"=>587, "domain"=>"example.com", "authentication"=>"plain", "enable_starttls_auto"=>true, "user_name"=>"postmaster@mailgun.example.com", "password"=>"12d3f673e0a83c97045eb4e2d10ebc8a4"}}
# after {:smtp_settings=>{:address=>"smtp.mailgun.org", :port=>587, :domain=>"example.com", :authentication=>"plain", :enable_starttls_auto=>true, :user_name=>"postmaster@mailgun.example.com", :password=>"12d3f673e0a83c97045eb4e2d10ebc8a4"}}
form_helper typo fix [ci skip]
actionview/lib/action_view/helpers/form_helper.rb
のdocの修正です。
form_with
メソッドのdoc内のタイポを修正しています。
guides/assets/stylesheets/responsive-tables.css
の修正です。
ファイルパーミッションが0755になっていたのを、0644に修正しています。
.travis.yml
の修正です。
CIで使用するRubyのバージョンを2.3.3に更新しています。
Introduce reload_<association>
reader for singular associations.
activerecord/lib/active_record/associations/builder/singular_association.rb
、
activerecord/lib/active_record/associations/singular_association.rb
の修正です。
singular associationをreloadする為のModel#reload_<association>
メソッドを追加しています。
元々はsingular associationをreloadする為の方法として、association methodにtrue
を渡すという方法がありました(e.g. Article.category(true)
)。ただこれはRails 5.0.0でdeprecatedになり、代わりにreloadメソッド(e.g. article.reload.category
)使う事が推奨されていました。
ただ、Article.category(true)
とarticle.reload.category
では微妙に振る舞いが違う(親レコードもreloadするかどうかの違いがある)為、Model#reload_<association>
メソッドを追加したとの事です。
Merge pull request #27113 from rails/remove-jquery
railtiesの修正です。
デフォルトのスタックからjquery-rails
が削除され、代わりにrails-ujs: Ruby on Rails unobtrusive scripting adapter.をデフォルトのJSのadapterとして使用するよう修正しています。jQueryを削除する事になった背景についてはDrop jQuery as a dependencyを参照。
因みにデフォルトスタックから外されただけで、jquery-rails
自体はまだ使えます。