Submit Search
Upload
Rails3.2ってどう変わるの?
•
28 likes
•
4,463 views
Takafumi ONAKA
Follow
第1回渋谷Edge Rails勉強会 http://atnd.org/events/25273
Read less
Read more
Report
Share
Report
Share
1 of 84
Download now
Download to read offline
Recommended
SimpleModeler
SimpleModeler
Tomoharu ASAMI
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)
Yuji Kubota
jcmd をさわってみよう
jcmd をさわってみよう
Tsunenaga Hanyuda
カーネルオブジェクト(ETロボコン向けTOPPERS活用セミナー2-2)
カーネルオブジェクト(ETロボコン向けTOPPERS活用セミナー2-2)
Takuya Azumi
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16
Yuji Kubota
JRuby on Rails
JRuby on Rails
Yoichiro Tanaka
Wardenで学ぶコンテナの基礎
Wardenで学ぶコンテナの基礎
Hiroaki_UKAJI
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
Yoshiaki Sugimoto
Recommended
SimpleModeler
SimpleModeler
Tomoharu ASAMI
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)
Yuji Kubota
jcmd をさわってみよう
jcmd をさわってみよう
Tsunenaga Hanyuda
カーネルオブジェクト(ETロボコン向けTOPPERS活用セミナー2-2)
カーネルオブジェクト(ETロボコン向けTOPPERS活用セミナー2-2)
Takuya Azumi
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16
Yuji Kubota
JRuby on Rails
JRuby on Rails
Yoichiro Tanaka
Wardenで学ぶコンテナの基礎
Wardenで学ぶコンテナの基礎
Hiroaki_UKAJI
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
Yoshiaki Sugimoto
Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
LLVM overview 20110122
LLVM overview 20110122
nothingcosmos
Elixir Meetup #1 Loggerの構造と拡張
Elixir Meetup #1 Loggerの構造と拡張
Sugawara Genki
Sc2009autumn s2robot
Sc2009autumn s2robot
Shinsuke Sugaya
Rails and twitter #twtr_hack
Rails and twitter #twtr_hack
i7a
Rails基礎講座 part.2
Rails基礎講座 part.2
Jun Yokoyama
海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3D
Kazuhisa Minato
Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介
Etsuji Nakai
Inside mobage platform
Inside mobage platform
Toru Yamaguchi
DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!
Drecom Co., Ltd.
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング
アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング
MicroAd, Inc.(Engineer)
Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2
Sea Mountain
Locondo 20190703@inno db_cluster
Locondo 20190703@inno db_cluster
Shinya Sugiyama
Ruby on Rails Tutorial Chapter5-7
Ruby on Rails Tutorial Chapter5-7
Sea Mountain
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
Handlersocket 20110517
Handlersocket 20110517
akirahiguchi
Java 9で進化する診断ツール
Java 9で進化する診断ツール
Yasumasa Suenaga
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
Kazuhiro Hara
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
Hiroyuki Ohnaka
不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持
Takafumi ONAKA
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方
Takafumi ONAKA
More Related Content
Similar to Rails3.2ってどう変わるの?
Web技術勉強会23回目
Web技術勉強会23回目
龍一 田中
LLVM overview 20110122
LLVM overview 20110122
nothingcosmos
Elixir Meetup #1 Loggerの構造と拡張
Elixir Meetup #1 Loggerの構造と拡張
Sugawara Genki
Sc2009autumn s2robot
Sc2009autumn s2robot
Shinsuke Sugaya
Rails and twitter #twtr_hack
Rails and twitter #twtr_hack
i7a
Rails基礎講座 part.2
Rails基礎講座 part.2
Jun Yokoyama
海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3D
Kazuhisa Minato
Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介
Etsuji Nakai
Inside mobage platform
Inside mobage platform
Toru Yamaguchi
DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!
Drecom Co., Ltd.
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
Daisuke Hiraoka
アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング
アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング
MicroAd, Inc.(Engineer)
Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2
Sea Mountain
Locondo 20190703@inno db_cluster
Locondo 20190703@inno db_cluster
Shinya Sugiyama
Ruby on Rails Tutorial Chapter5-7
Ruby on Rails Tutorial Chapter5-7
Sea Mountain
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
Handlersocket 20110517
Handlersocket 20110517
akirahiguchi
Java 9で進化する診断ツール
Java 9で進化する診断ツール
Yasumasa Suenaga
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
Kazuhiro Hara
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
Hiroyuki Ohnaka
Similar to Rails3.2ってどう変わるの?
(20)
Web技術勉強会23回目
Web技術勉強会23回目
LLVM overview 20110122
LLVM overview 20110122
Elixir Meetup #1 Loggerの構造と拡張
Elixir Meetup #1 Loggerの構造と拡張
Sc2009autumn s2robot
Sc2009autumn s2robot
Rails and twitter #twtr_hack
Rails and twitter #twtr_hack
Rails基礎講座 part.2
Rails基礎講座 part.2
海外ゲーム技術勉強会#1 OGRE3D
海外ゲーム技術勉強会#1 OGRE3D
Open Shift v3 主要機能と内部構造のご紹介
Open Shift v3 主要機能と内部構造のご紹介
Inside mobage platform
Inside mobage platform
DApps のユーザ認証に web3.eth.personal.sign を使おう!
DApps のユーザ認証に web3.eth.personal.sign を使おう!
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング
アドテクに携わって培った アプリをハイパフォーマンスに保つ設計とコーディング
Ruby on Rails3 Tutorial Chapter2
Ruby on Rails3 Tutorial Chapter2
Locondo 20190703@inno db_cluster
Locondo 20190703@inno db_cluster
Ruby on Rails Tutorial Chapter5-7
Ruby on Rails Tutorial Chapter5-7
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Handlersocket 20110517
Handlersocket 20110517
Java 9で進化する診断ツール
Java 9で進化する診断ツール
Play framework 2.0のおすすめと1.2からのアップグレード
Play framework 2.0のおすすめと1.2からのアップグレード
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
JavaOne 2015 報告会 @ 東京 「About MVC 1.0 & JSON-P」
More from Takafumi ONAKA
不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持
Takafumi ONAKA
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方
Takafumi ONAKA
グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発
Takafumi ONAKA
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
Takafumi ONAKA
pt-query-digest は Perl!!
pt-query-digest は Perl!!
Takafumi ONAKA
アプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のこと
Takafumi ONAKA
cpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちは
Takafumi ONAKA
Perl使いの国のRubyist
Perl使いの国のRubyist
Takafumi ONAKA
ApplicationTemplateのススメ
ApplicationTemplateのススメ
Takafumi ONAKA
RSpecしぐさ
RSpecしぐさ
Takafumi ONAKA
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
Takafumi ONAKA
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
Takafumi ONAKA
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
Takafumi ONAKA
Application Bootstrap
Application Bootstrap
Takafumi ONAKA
ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料
Takafumi ONAKA
すこやかRails
すこやかRails
Takafumi ONAKA
マジカルsvnとキュアgit
マジカルsvnとキュアgit
Takafumi ONAKA
Github Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃん
Takafumi ONAKA
More from Takafumi ONAKA
(20)
不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方
グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
pt-query-digest は Perl!!
pt-query-digest は Perl!!
アプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のこと
cpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちは
Perl使いの国のRubyist
Perl使いの国のRubyist
ApplicationTemplateのススメ
ApplicationTemplateのススメ
RSpecしぐさ
RSpecしぐさ
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
Application Bootstrap
Application Bootstrap
ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料
すこやかRails
すこやかRails
マジカルsvnとキュアgit
マジカルsvnとキュアgit
Github Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃん
Rails3.2ってどう変わるの?
1.
Rails3.2って どう変わるの? 2012/03/06 第1回渋谷Edge Rails勉強会 大仲 能史
a.k.a. onk thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
2.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 2 提供
3.
自己紹介
大仲 能史 @onk 仕事 ソーシャルゲーム事業本部 アプリケーションエンジニア 設計・開発担当 3 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
4.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 4 本日のお題
5.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 5 う変わるの? Rails3.2ってど
6.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 6 を読もう! ⇒Release Note
7.
Ruby on Rails
3.2 Release Note http://edgeguides.rubyonrails.org/3_2_release_notes.html 7 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
8.
Ruby on Rails
3.2 Release Note http://developer.aiming-inc.com/rails/rails-3-2-release- note-in-ja/ (日本語訳) 8 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
9.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 9 だけ そうなところ 多いので面白
10.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 10 MAJOR FEATURES
11.
Major Features
高速な development モードと routing 自動クエリExplain タグつきのログ 11 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
12.
Major Features
高速な development モードと routing ファイルが変更されたときのみclassを 再読み込みするようになりました journeyを使うことでroutingの認識が速 くなりました 12 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
13.
Major Features
高速な development モードと routing 超簡単なアプリでも400msほど違った ので、開発環境だけでも今すぐ上げる と幸せになれるよ # rails 3.2.2 + ruby 1.9.3 Requests per second: 56.73 [#/sec] (mean) # rails 3.1.4 + ruby 1.9.3 Requests per second: 18.19 [#/sec] (mean) 13 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
14.
Major Features 自動クエリExplain
ActiveRecord::Relationにexplainメ ソッドが実装されました development mode では、0.5 秒以上か かったクエリは自動でEXPLAINも発行さ れ、ログに出力されるようになりまし た 14 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
15.
Major Features タグつきのログ
ActiveSupport::TaggedLoggingが実装 されました Logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT)) Logger.tagged("BCX") { Logger.info "Stuff" } # Logs "[BCX] Stuff" Logger.tagged("BCX", "Jason") { Logger.info "Stuff" } # Logs "[BCX] [Jason] Stuff" Logger.tagged("BCX") { Logger.tagged("Jason") { Logger.info "Stuff" } } # Logs "[BCX] [Jason] Stuff" 15 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
16.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 16 変更点 以上が主な
17.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 17 の行きます 以下細かい
18.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 18 RAILTIES
19.
Railties scaffoldやmodelのgeneratorの
属性のデフォルトをstringにし ました $ rails g model article user:references title body:text 19 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
20.
Railties scaffold/model/migrationの
generatorにindexおよびuniqと いう修飾子を与えられるよう になりました rails g migration add_hoge_id_to_piyo hoge_id:integer:uniq add_column :piyos, :hoge_id, :integer add_index :piyos, :hoge_id, :unique => true 20 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
21.
Railties Rails::Rack::Logger
middleware 更新。config.log_tagsに書いた 任意の tag を ActiveSupport::Taggedloggingに 渡すことができるようになりまし た subdomainやrequest idを表示すると便利! 21 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
22.
Railties 例外発生時にShowException
middlewareから呼ばれる例外 処理アプリケーションを config.exceptions_appで設定 できるようになりました 22 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
23.
Railties 依存関係のあるファイルに変
更があったときのみclassを再 読み込みするようになり、 developmentの動作速度が向上 しました 23 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
24.
Railties Rails::Pluginは廃止予定になり、
Rails 4.0で削除される予定です 24 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
25.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 25 ACTION MAILER
26.
Action Mailer
mailのバージョンを2.4.0に引 き上げました。 Rails 3.0で廃止予定になって いた古いAPIを削除しました 26 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
27.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 27 ACTION PACK
28.
Action Controller
send_fileで:typeを指定しない 場合、拡張子からMIMEタイプ を自動で入れるようになりま した デフォルトで以下に対応 png jpg gif bmp tiff mpeg pdf zip 28 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
29.
Action Controller
CSRFトークンが欠けている場 合に警告を出すログレベル を、:debugから:warnに変更し ました 29 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
30.
Action Controller
APIリクエスト(:xml、:json)に 対してレスポンス本文が存在 しない場合、respounderは 204 No Content を返します。 scaffoldで作成したcontroller も同様に204を返すようになっ ています。 30 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
31.
Action Controller
jQueryから叩くときに嬉しい # PUT /hoges/1 # PUT /hoges/1.json def update @hoge = Hoge.find(params[:id]) respond_to do |format| if @hoge.update_attributes(params[:hoge]) format.html { redirect_to @hoge, notice: 'Hoge was successfully updated.' } format.json { head :no_content } else format.html { render action: "edit" } format.json { render json: @hoge.errors, status: :unprocessable_entity } end end end 31 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
32.
Action Controller
ActionDispatch::ShowExcept ionsはリファクタされました。 例外表示/非表示の責務を controllerが負うことになりま す。 show_detailed_exceptions?をoverride することでエラー出力を切り替えます 32 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
33.
Action Dispatch
ActionDispatch::RequestId ミドルウェアを追加しました。 一意なX-Request-Idヘッダがresponse に設定されるようになり、 ActionDispatch::Request#uuidから参 照できます。 TaggedLoggingで使うと便利? 33 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
34.
Action View
render :template => "foo.html.erb" のように、拡 張子の形で format や handler を渡す方式は廃止されました。 下記の形で利用してください。 render :template => “foo”, :formats => [:html, :js], :handlers => :erb 34 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
35.
Action View
formに名前空間を与えること ができるようになりました 今まで重複していたidを一意 なものにすることができます <%= form_for(@offer, :namespace => 'namespace') do |f| %> <%= f.label :version, 'Version' %>: <%= f.text_field :version %> <% end %> 35 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
36.
Action View
:multipleなselect tagの前に、 hidden input tagを生成するよ うになりました 何も選択せずに送信した場合、 何も送られないというHTMLの 仕様への対策です 36 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
37.
Sprockets Assetsは相対プロトコルを
使っていましたが、デフォル トでリクエストと同じプロト コルを使うようになります。 37 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
38.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 38 ACTIVE RECORD
39.
Active Record
first_or_create、 first_or_create!、 first_or_initializeをActive Recordに追加しました。 find_or_create_byよりもどの属性を 使って探す/作るのかが明確になるので 良いアプローチ 39 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
40.
Active Record
1カラムでkey/value ストアを 表現する ActiveRecord::Base.storeを 実装しました 指定したカラムにserializeし たHashを入れることができま す。 40 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
41.
Active Record
ユニークなクエリを生成する ActiveRecord::Relation#uniq を追加しました User.select("distinct name") User.select(:name).uniq 41 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
42.
Active Record
値の配列を返す ActiveRecord::Relation#pluc kメソッドが実装されました これはserializeされたattribute でも動作します 42 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
43.
Active Record Article.select(:id).map(&:id) Article.pluck(:id)
43 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
44.
Active Record
ActiveRecord::Relation#exp lainが実装されました。 自動的にスロークエリを EXPLAINし、ログに吐くよう になりました。閾値はデフォ ルトで0.5秒です。 44 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
45.
Active Record
assosiation methodsをoverrideや compositionする際にsuperを使いやす いようmodule化しました class Car < ActiveRecord::Base belongs_to :owner belongs_to :old_owner def owner=(new_owner) self.old_owner = self.owner super end end 45 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
46.
Active Record
Engineからコピーされた migrationはEngine名のスコー プを持つようになりました 例えば以下のようなファイル名になり ます 01_create_posts.blog.rb 46 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
47.
Active Record
scopeを指定してmigrationを 実行する機能を追加しました これにより、Engine単位で migrationを実行することがで きるようになりました rake db:migrate SCOPE=blog 47 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
48.
Active Record
transactionを開始する with_lockメソッドが追加され ました。 48 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
49.
Active Record class Order
< ActiveRecord::Base def cancel! transaction do lock! # ... cancelling logic end end end class Order < ActiveRecord::Base def cancel! with_lock do # ... cancelling logic end end end 49 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
50.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 50 ACTIVE MODEL
51.
Active Model
ActiveModel::Errors#added? により定義されたエラーが発 生したかどうかチェックでき ます。 51 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
52.
Active Model mass_assignmentで保護された属性
を更新しようとしたときの振る舞い をmass_assignment_sanitizerで指定 できるようになりました。:logger と:strictがサポートされています。 :strictの場合、保護された属性を更新し ようとすると常に ActiveModel::MassAssignmentSecurity ::Errorをraiseします 52 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
53.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 53 ACTIVE RESOURCE
54.
Active Resource
リダイレクトレスポンス: 303 See Other や 307 Temporary Redirect が返ってきた時も、 301 Moved Permanently や 302 Found が返ってきたとき と同様の挙動になりました。 54 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
55.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 55 ACTIVE SUPPORT
56.
Active Support
ActiveSupport::TaggedLoggi ng を追加しました。これは任 意の標準 Logger クラスをラッ プし、タグ付け機能を付与す ることができます。 56 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
57.
Active Support
Date、Time、DateTimeの beginning_of_weekメソッドは、 週の開始曜日を指定するオプ ションを付けられるようにな りました。 57 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
58.
Active Support
ActiveSupport::Notificatio ns.subscribed を追加しまし た。与えたブロックが実行さ れている間のみの受信登録 (subscription) が可能です。 58 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
59.
Active Support
Ruby 1.9におけるblank?の対 象がUnicodeホワイトスペース 文字([:space:])に拡張されま した。同様に、Ruby 1.8にお いては全角スペース(U+3000) が空白文字とみなされるよう になりました。 59 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
60.
Active Support
範囲を生成する方法として Time#all_day, Time#all_week, Time#all_quarter そして Time#all_year を追加しまし Time.now.all_day た。 # => 2012-03-06 00:00:00 +0900..2012-03-06 23:59:59 +0900 User.where(created_at: Time.now.all_day) 60 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
61.
Active Support
ActiveSupport::Cache::Null Store を、開発やテスト向け に追加しました。 61 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
62.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 62 知っておくと面白い変更点
63.
Railties Kindle用のRails
Guide (.mobi) が同梱されるようになりまし た 63 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
64.
Railties d
が destroy の alias に ~/.railsrcに rails new のオプ ションを保存できるように 64 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
65.
Railties rake
routesの結果が見やす くなりました articles GET /articles(.:format) {:action=>"index", :controller=>"articles"} POST /articles(.:format) {:action=>"create", :controller=>"articles"} new_article GET /articles/new(.:format) {:action=>"new", :controller=>"articles"} edit_article GET /articles/:id/edit(.:format) {:action=>"edit", :controller=>"articles"} article GET /articles/:id(.:format) {:action=>"show", :controller=>"articles"} PUT /articles/:id(.:format) {:action=>"update", :controller=>"articles"} DELETE /articles/:id(.:format) {:action=>"destroy", :controller=>"articles"} articles GET /articles(.:format) articles#index POST /articles(.:format) articles#create new_article GET /articles/new(.:format) articles#new edit_article GET /articles/:id/edit(.:format) articles#edit article GET /articles/:id(.:format) articles#show PUT /articles/:id(.:format) articles#update DELETE /articles/:id(.:format) articles#destroy 65 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
66.
Action View
日付のヘルパーメソッドに新 しいオプション :use_two_digit_numbers valueはそのまま、表示だけzero- paddingされます 66 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
67.
ActiveRecord development
mode では、 db:create同様、 db:dropでtest データベースもdropされるよ うになりました。 67 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
68.
ActiveRecord アソシエーションのため
の :class_nameオプションは string の代わりに symbol をと れるようになりました。 68 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
69.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 69 お疲れさまでした 以上
70.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 70 自分でも見ておいてね だいぶ端折ったので
71.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 71 edgeの話 少しだけ
72.
Railties console
class を変更可能に # it can be added to config/application.rb console do require "pry" config.console = Pry end 72 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
73.
Action Pack/Active Resource
HTTP PATCHメソッドに対応 PUTは本来リソースの全置換え。 PATCHメソッドは差分を適用する。 差分更新がよりRESTな自然な形に 73 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
74.
Active Record
ActiveRecord::Base を継承す るのを止めました ActiveRecord::Modelをincludeしてね AR=>DataMapperが楽になる? class Post include ActiveRecord::Model end 74 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
75.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 75 まとめ
76.
まとめ Major Features
ちょっ速 自動Explain TaggedLogging 76 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
77.
まとめ Railties
便利になった indexの定義漏れを防ぐgenerator syntax 77 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
78.
まとめ ActiveRecord
便利になった uniq, pluck, explain, with_lock store 意味的にしっかりしてきた migration の scope first_or_create 78 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
79.
まとめ ActiveSupport
便利になった TaggedLogging Time#all_day ActiveSupport::Cache::NullStore 79 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
80.
まとめ エラーの扱いが少し変わった CSRFトークンがなければ
warning mass_assignment_sanitizer :strict plugin が非推奨になった 80 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
81.
まとめ 3.2での開発は捗るぞ 3.1からあまり変わっていない
ちょっとずつ便利になってる 毎日railsのcommit logを追い かけるの推奨 4.0.0楽しみですね! 81 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
82.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 82 ございました ご清聴ありがとう
83.
ドリコムではCHANGELOGを読 ドリコムでは
を読 むのが好きなエンジニアを募集 しています 83 thgirypoC © .devreseR sthgiR llA dtL ,.oC MOCERD
84.
.devreseR sthgiR llA
dtL ,.oC MOCERD © thgirypoC 84 U.where(has_question: true).present?
Download now