Rails 5.0の最初のリリースは2015年春に予定されていましたが、最近では2016年 2月23日から3月16日まで何度も延期されています。 つまり、おそらくこれは最後の延期ではありません。 ただし、Rails 5.0は現在beta3ステータスであり、 Basecampの運用環境で実行されます。
最初の正式な変更
- ruby 2.2.2+のみがサポートされています
- Webrickはデフォルトで16スレッドのPumaに置き換えられました
- すべてのrakeコマンドはレールに置き換えられます。たとえば、
rails db:migrate
rails db:migrate
そして、機能の大きな部分
ターボリンク5
ターボリンクの現在のバージョンは、静的なcss、jsなどのファイルに再度アクセスすることなく、ajaxを介してページ全体のコンテンツを更新します。 新しいバージョンでは、Webページの個々の部分のコンテンツを(パーシャルを介して)選択的に変更できます。これは、サーバーの主導で実行できます。
アクションケーブル
最後に、Websocketsサポートが実装され、タンバリンと踊ることなく本格的な単一ページのアプリケーションを作成できるようになりました。 チャネル、クライアント側でそれらのサブスクライバーなど。 とても快適です。
アクションケーブルの使用に関する優れたビデオチュートリアル -ページを更新せずにRailsのWebチャット。
APIモード
デフォルトでは、HTMLパーツとJSパーツを使用せずにアプリケーションを作成できるようになりました。はるかに高速で簡単です。
rails new backend --api
HTMLではなくJSONで動作するようにすぐに設定されるアプリケーションが作成されます
スプロケット4
静的ファイルのプリコンパイルを制御するためのapp / asset / config / manifest.jsファイルが追加されました。
// JS and CSS bundles
//
//= link_directory ../javascripts .js
//= link_directory ../stylesheets .css
// Images and fonts so that views can link to them
//
//= link_tree ../fonts
//= link_tree ../images
もちろん、その場所と形式(jsまたはyml)についても説明しますが、最終リリースでは明確になります。
砂糖
多くのマイナーな変更があるので、実際にはそれがたくさんありますが、私はこれらのいくつかが好きでした:
- コントローラーの
params
はハッシュではなくオブジェクトになりました - これで、次のように書くことができます:
User.where(users[:name].eq('bob').or(users[:age].lt(25)))
- マイナーメソッド整数#正? および整数#負?
- belongs_toを持つオブジェクトはデフォルトで親を持たなければなりません、そうでなければ例外があります
結果
彼らは生産性の20-30%の増加を約束します。 私が理解しているように、主に凍結された行の大規模な使用(およびもちろん、大量のコードの最適化)が原因です。
最新ベータ版のインストール
git clone --depth 1 http://github.com/rails/rails cd rails bundle railties/exe/rails new --edge appname cd appname bundle bundle exec rails s
読む
http://blog.michelada.io/whats-new-in-rails-5
https://medium.com/evil-martians/the-rails-5-post-9c76dbac8fc#.9p0fpry5o
変更に関する最新のビデオポッドキャスト (例付き)