読者です 読者をやめる 読者になる 読者になる

Rails3.2.6に上げたらDEPRECATION_WARNINGが出たので対応した

http://weblog.rubyonrails.org/2012/6/12/ann-rails-3-2-6-has-been-released/

先日Rails3.2.6が出て、SQLインジェクションとかあるから(´∀`∩)↑age↑てくださいと言われたので、重い腰を上げてRails3.2.2から3.2.6にバージョンを上げた。
テスト流したらDEPRECATION_WARNINGがいっぱい出たのでその対応方法を一応書いとく

:confirm option is deprecated and will be removed from Rails 4.0

= link_to "hoge", hoge_path, :method => :delete, :confirm => "フォーマットするのか?"

上のようにviewでaタグとかに:confirmと書いておくと、確認用のダイアログを出してくれるRails(jquery_ujs)の便利機能がある。
削除リンクとかでよく使ってたんだけど、この書き方がRails4.0から使えなくなるらしい。

= link_to "hoge", hoge_path, :method => :delete, :data => {:confirm => "フォーマットするのか?"}

で、対処方法は:confirmではなく、:data => {:confirm => ""}を使いましょうとのこと。書く量が増えてめんどくさいです…

:disable_with option is deprecated and will be removed from Rails 4.0

= submit_tag("Submit", :disable_with => "Sending...")

上のようにViewでsubmitとかに:disable_withを書くと、フォームの二度押しを防ぐことができる便利機能がある。Rails3レシピブックにも紹介されてます。
これまた楽だからよく使ってたんだけど、Rails4.0で無くなるらしい。

= submit_tag("Submit", :data => {:disable_with => "Sending..."})
confirmの時と同じように、
dataの中に入れれば良いとのこと。これまた書く量が増えてだるい…。

他にもいろいろありそうだけど、ひとまずWARNINGが出たのはこの2つでした。
新しいバージョンが出るたびにちゃんと追って行かないとRails4系に上げるのが大変そうなので、今後はサボらずにバージョンをあげていこうと思った。