LoginSignup
3
2

More than 5 years have passed since last update.

rails 4 → 5.1.5 変更点、追加点 ざっくりまとめ

Posted at

Rakeコマンドをrailsコマンドに統一

terminal
 $ rails routes
 $ rails db:migrate

クエリ関連のメソッドの追加

or, left_outer_joins, (left_joins)が使えるようになりました。

詳細はGithubのrails Added #or to ActiveRecord::Relation より

Action Cable の導入

WebSocketとRailsのその他の部分をシームレスに統合し、Rails アプリケーションの効率の良さとスケーラビリティを損なわずに、通常のRailsアプリケーションと同じようにリアルタイム機能をRubyで記述できるようになりました。

参考サイト GO RAILS

控えめな「JavaScript」から純粋な「JavaScript」へ (フロント周りの変更点)

デフォルトでのJQuery依存が廃止されます。
Ruby on Rails 5.1リリースノート

従来のRailsでは、data-remoteやdata-confirmについてはjQueryに依存し、その他の機能をUnobtrusive JavaScript(UJS: 控えめなJavaScript)に依存する形で機能を提供していました。Rails 5.1からはこれらの依存が解消され、UJSはvanilla JavaScript(=純粋なJavaScript)で書き直されました。このコードはAction View内部でrails-ujsとしてリリースされています。
デフォルトではjQueryに依存しなくなりましたが、必要に応じて従来どおりjQueryに依存することもできます。

Yarnのサポート

Rails 5.1より、JavaScriptの依存管理をnpmからYarnに変更できるようになりました。

Web packのサポート

新しいWebpacker gemの導入によって、JavaScriptのアセット用bundlerとも言うべきWebpackを簡単にRailsアプリに統合できるようになりました。Railsアプリを新規に生成するときに--webpackフラグを付けることで、Webpack統合が有効になります。
統合されたWebpackはアセットパイプラインとの完全互換が保たれます。画像・フォント・音声などのアセットも従来どおりアセットパイプラインで利用できます。また、一部のJavaScriptコードをアセットパイプラインで管理し、その他のJavaScriptコードをWebpack経由で処理する、といったこともできます。これらはすべて、デフォルトで有効なYarnで管理されます。

Turbolinks 5

Turobolinksはページ間の遷移をXHR化しbodyの書き換えのみにすることで高速化を図る機能ですが、Turbolinks 5で大きく実装が書き換えられました。APIの変更には注意する必要があります。

head内の記述
 $ ~   => true

 $ ~   : 'reload'

参考ページ Turbolinks 5とTurbolinks Classic(2.x)の比較

API

APIのみのアプリケーションを簡単に作成できるようになりました。

ターミナル
 $ rails new app --api

その他気になった点

belongs_to の参照先がnilの場合、バリデーションエラーになります。
form_tag, form_for が form_with に統合されます。
<%= form_with scope: :post, url: post-path do |form| %>
<% end %>
参考サイト TechRacho
Action Cable の導入に伴い、開発環境のサーバがWEBrickからPumaに変更

詳しい変更についてはGithubのrailsリポジトリにあるComparing changesを参照してください。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2