質問: Rails で Devise の Gem をインストールし利用しています。 rails : 4.2.1 devise : 3.4.1 以下のURLのように、新たに name フィールドをDBテーブルに追加して利用しました。 そこでカスタムビューを作成し、「app/views/users/regsitrations/new.html.erb」の中で、「<%= f.name_field :name %>」として利用使用しようとしたところ以下のエラーとなりました。 > > NoMethodError in Devise::Registrations#new > > undefined method `name_field' for > > > > メソッドとして「name_field」が用意されていないという事で、上記のURLにもありますように、「<%= f.text_field :name %>」としたところ動作はしました。 ここで質問なのですが、Deviseで、「フィールド_field」の定義がどこで行われていて、text以外の定義が出来るのか教えていただきたいです。 お願いいたします。
回答: text_field は form_for の機能ですので、Devise とは関係ありません。 form_for を一度調べてみてください。 フォーム(form) - - Railsドキュメント) Ruby - Railsのフォーム基本的な作成方法まとめ(form_forとかform_tag) - Qiita 【Rails】formヘルパーを徹底的に理解する - Qiita