Mais conteúdo relacionado
Semelhante a Rails解説セミナー: リリースノート解説編 (20)
Mais de Yohei Yasukawa (9)
Rails解説セミナー: リリースノート解説編
- 4. Slide is in SlideShare!
http://www.slideshare.net/yasulab/presentations
- 7. 1. $ git clone
https://github.com/yasslab/sample_apps.git
2. 対象のディレクトリに移動後: $ git init ;
$ bundle exec rake db:migrate
$ bundle exec rake db:test:prepare
$ bundle exec rake db:populate
3. $ gem install rails --version 4.0.5
4. (Option) $ gem install rails --version 4.1.8
5. (Option) $ gem install rails --version 4.2.3
下準備
- 11. • 中級者∼上級者向けの大型リファレンス
• 読み進める順番は特になく、機能毎に解説:
• e.g. Active Record の基礎、バリデーション
• e.g. Action View の概要、フォームヘルパー
• e.g. Action Controller の概要、ルーティング
• 例外: Railsをはじめよう → Rails チュートリアル
• ウェブ版は全編無料! http://railsguides.jp/
Railsガイドとは?
- 12. • リリースノートを見ながら 4.0 の概要を知る
• リリースノートを見ながら 4.1 との違いを知る
• リリースノートを見ながら 4.2 との違いを知る
時間の許す限り,色々な機能を
実際に触れていきましょう :)
今日やること
- 17. Rails 4.0 のポイント
• Ruby 2.0 が推奨 / Ruby 1.9.3 以上がサポート対象
• Strong Parameters の導入
マスアサイメント脆弱性があるとエラーになる
• Turbolinks の導入
HTMLの一部分だけを更新する技術: ページ遷移時
にURLと、AJAXでtitleやbodyを差し替える
• Russian Doll Caching の導入
ネストしたViewの断片毎にキャッシュする。各断
片は依存関係のセットに応じて期限切れになる。
- 20. • Active Record がよりスマートに :)
db:reset だけで test:db:prepare などが不要に!
• アプリケーションプリローダ「Spring」の導入
db:migrate 後などの再起動が不要に!
• config/secrets.yml の導入
外部API用のアクセスキーなどもここに保存
Rails.application.secrets で取り出し可能
Rails 4.1 のポイント
- 21. 1. Gemfile の ‘ruby’ のバージョンを 2.0.0 にする
2. Gemfile の ‘rails’ のバージョンを 4.1.8 にする
3. $ bundle update
$ bundle exec rake rails:update
4. $ bundle exec rake db:reset
# $ bundle exec rake db:migrate
# WARNING: db:test:prepare is deprecated.
# Change: User.all.limit(n) -> User.limit(n)
5. $ bundle exec spec spec/
# Update: gem 'rspec-rails', '~> 2.14.0.rc1'
Rails 4.1における大まかな手順
- 24. • RSpec 2.x がサポート対象外になりました
cf. https://github.com/rspec/rspec-rails/issues/1187
cf. Transpec: http://yujinakayama.me/transpec/
• Web Console が標準デバッグ環境に
ブラウザ上ですぐにデバッグできるようになった
• Active Job の導入 (非同期処理)
メール送信処理などを簡単に非同期化できる
• Adequate Record による高速化
find/find_byなどの呼び出しが最大2倍に向上!
Rails 4.2 のポイント
- 25. 1. Gemfile の ‘ruby’ のバージョンを 2.2.2 にする
# Update: gem ‘sqlite’, ‘1.3.10’
2. Gemfile の ‘rails’ のバージョンを 4.2.3 にする
# RSpec 2 on Rails 4.2 is NOT supported. => ‘~> 3.1’
3. $ bundle update
$ bundle exec rake rails:update
# config/routes.rb はそのままで OK
=> 今回はRSpec絡みが多いので別紙参照
4. $ bundle exec rake db:reset
$ bundle exec spec spec/
Rails 4.2における大まかな手順
- 26. 1. gem ‘rspec-rails’, ‘~> 3.1’
gem 'capybara', '~> 2.4.0'
gem 'rspec-its', '1.2.0'
gem 'turbolinks', '~> 2.5.3'
2. $ bundle update
$ bundle exec rails generate rspec:install
$ mv spec/requests spec/features
3. $ find spec/ -name "*_spec.rb" | xargs gsed -i "s/require
'spec_helper'/require ‘rails_helper'/g"
4. コメントアウト in ‘rails_helper.rb’:
Dir[Rails.root.join(‘spec/support/**/*.rb’)].each {|f| require f}
RSpec 3.1 にする
- 27. 1. ‘spec/features/authentication_pages_spec.rb’ を更新:
# 追加: describe "authorization", type: :request do
# 変更: root_url => root_path in GET request
2. ‘spec/models/user_spec.rb’ を更新:
# 変更: be_false => be_falsy
3. $ gem install transpec
$ rbenv rehash
$ transept
4. $ bundle exec rspec spec/ 2>&1
RSpec 3.1 にする
- 30. • リリースノートを見ながら 4.0 の概要を知る
• リリースノートを見ながら 4.1 との違いを知る
• リリースノートを見ながら 4.2 との違いを知る
時間の許す限り,色々な機能を
実際に触れていきましょう :)
今日やったこと