[Rails] simple_formで「DEPRECATION WARNING」が発生

こんにちは。kadoppeです。

普段僕は、RailsのForm Helperを便利に拡張してくれる「SimpleForm」というライブラリをよく使っています。

input要素のtypeを自動的に決めてくれたり、label要素やヒントメッセージを簡単に出力できたりと非常に便利なライブラリです。

そんなある日、アプリケーション起動時に、SimpleFormによって2種類の「DEPRECATION WARNING」が発生するようになりました。今使っている方法がそのうち使えなくなるということなので早めに対処しといたのですが、その時の対処方法をメモしときます。

ちなみに当方の環境は、SimpleForm (2.0.2.dev)です。

警告一つ目

一つ目の警告はこんな感じ。

警告の内容は「useメソッドにブロックを渡すのは非推奨になりました。useメソッドの代わりにwrapperメソッドを使ってください」とのこと。

僕の場合、「config/initializers/simple_form.rb」で、SimpleFormが出力するFormの雛形を定義していたのですが、そこで例外が発生していたようです。

以下、修正前。

修正後。

警告二つ目

次。二つ目の警告はこんな感じ。

警告の内容は「useメソッドに:tagや:classといったパラメータを渡すのは非推奨になりました。代わりに、それらのパラメータをハッシュにまとめて:wrap_withパラメータに渡すようにしてください」とのこと。

というわけで修正前。

修正後。

修正完了!修正後、再度アプリケーションを起動してみると無事警告が発生しないようになっていました。

めでたしめでたし。