12503


Rails で Devise の Gem をインストールし利用しています。

rails : 4.2.1  
devise : 3.4.1

以下のURLのように、新たに name フィールドをDBテーブルに追加して利用しました。  
<http://easyramble.com/add-field-devise-signup-form.html>

そこでカスタムビューを作成し、「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以外の定義が出来るのか教えていただきたいです。

お願いいたします。


CC BY-SA 3.0
2015-07-20T10:10:34.113
12501
2015-07-20T11:23:24.727
8919
question
ruby-on-rails
RailsのDeviseでフィールドを追加した時のビューの動作について


text_field は form_for の機能ですので、Devise とは関係ありません。

form_for を一度調べてみてください。

[フォーム(form) - -
Railsドキュメント](http://railsdoc.com/form#%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9\(text_field\))  
[Ruby - Railsのフォーム基本的な作成方法まとめ（form_forとかform_tag） -
Qiita](http://qiita.com/ykyk1218/items/2541a313aac0f0e5d81a)  
[【Rails】formヘルパーを徹底的に理解する -
Qiita](http://qiita.com/shunsuke227ono/items/7accec12eef6d89b0aa9)


CC BY-SA 3.0
2015-07-20T11:23:24.727
12503
2015-07-20T11:23:24.727
7471
12501
answer