Rails 4.1.0ベータがリリースされたので主な新機能まとめ(1)
ここで紹介する機能
- Spring アプリケーションプリローダー
- config/secrets.yml
- Action Pack variants
- Action Mailer プレビュー
Spring アプリケーションプリローダー
Rails4.1では、Springがビルトインされた。
もうZeus
とかSpork
は出番ないのかな。
Zeus
やSpork
との違いは、一般的なRailsコマンドを、
binstubsを使い透過的にラップしていること。(デフォルトではrake
やrails
)
PATH
に./bin
があるなら、自動でもっと早くなる。
config/secrets.yml
Rails4.1は、アプリケーションを作成するときに、configフォルダ内にsecrets.ymlファイルを生成する。
デフォルトでは、このファイルはアプリケーションのsecret_key_baseを含む。
それ以外にも、外部APIのためのアクセスキーといった、ほかのものも保管できる。
このファイルに追加されたものは、 Rails.application.secrets経由でアクセス可能。
例: secrets.yml
development: secret_key_base: 3b7cd727ee24e8444053437c36cc66c3 some_api_key: SOMEKEY
この場合、Rails.application.secrets.some_api_key が、開発環境で SOMEKEY を返す。
Action Pack Variants
タブレットやスマホ、デスクトップ別にテンプレート(html/json/xml)を描画できるようになる。 レスポンシブデザインに頼らなくて良い。
- request.variantには
:tablet
,:phone
,:desktop
のように指定する。 - before_action にて形態を設定する。
例:
lass ApplicationController < ActionController::Base before_action :detect_device_variant private def detect_device_variant case request.user_agent when /iPad/i request.variant = :tablet when /iPhone/i request.variant = :phone end end end class PostController < ApplicationController def show @post = Post.find(params[:id]) respond_to do |format| format.json format.html # /app/views/posts/show.html.erb をレンダー format.html.phone # /app/views/posts/show.html+phone.erb をレンダー format.html.tablet do @show_edit_link = false end end end end
- サンプルコード: What's new in Rails 4.1 - Coherence Blogから
それぞれのテンプレート
app/views/projects/show.html.erb app/views/projects/show.html+tablet.erb app/views/projects/show.html+phone.erb
インラインシンタックスをつかって、定義を簡略化できる。
respond_to do |format| format.js { render "trash" } format.html.phone { redirect_to progress_path } format.html.none { render "trash" } end
Action Mailer プレビュー
- 実際に送信することなく、emailのテンプレートを見ることが出来るようになった。
class NotifierPreview < ActionMailer::Preview # 次のアドレスからアクセス可: http://localhost:3000/rails/mailers/notifier/welcome def welcome Notifier.welcome(User.first) end end
リンク
- http://weblog.rubyonrails.org/2013/12/18/Rails-4-1-beta1/
- Ruby on Rails 4.1 Release Notes — Ruby on Rails Guides
- What's new in Rails 4.1 - Coherence Blog
広告
- 作者: すがわらまさのり,前島真一,近藤宇智朗,橋立友宏
- 出版社/メーカー: 技術評論社
- 発売日: 2014/06/06
- メディア: 大型本
- この商品を含むブログ (3件) を見る
- 作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一
- 出版社/メーカー: 技術評論社
- 発売日: 2013/08/10
- メディア: 大型本
- この商品を含むブログ (16件) を見る
- 作者: 高橋征義,後藤裕蔵,まつもとゆきひろ
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2013/06/04
- メディア: 単行本
- この商品を含むブログ (26件) を見る