前提・実現したいこと
gemのdeviseでnameとemailとpasswordを使ってサインアップ機能を作っています。
サインアップ機能でnameとemailとpasswordを使ってサインアップするためにapp/views/users/registrations/new.html.erbにnameを記入するフォームを作ったのですが思ってるような機能になりません。
発生している問題・エラーメッセージ
Unpermitted parameter: :email
該当のソースコード
html
1<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> 2 <%= render "users/shared/error_messages", resource: resource %> 3 4 <div class="field"> 5 <%= f.label :name %><br /> 6 <%= f.text_field :name, autofocus: true, autocomplete: "name" %> 7 </div> 8 9 <div class="field"> 10 <%= f.label :email %><br /> 11 <%= f.email_field :email, autofocus: true, autocomplete: "email" %> 12 </div> 13 14 <div class="field"> 15 <%= f.label :password %> 16 <% if @minimum_password_length %> 17 <em>(<%= @minimum_password_length %> characters minimum)</em> 18 <% end %><br /> 19 <%= f.password_field :password, autocomplete: "new-password" %> 20 </div> 21 22 <div class="field"> 23 <%= f.label :password_confirmation %><br /> 24 <%= f.password_field :password_confirmation, autocomplete: "new-password" %> 25 </div> 26 27 <div class="actions"> 28 <%= f.submit "Sign up" %> 29 </div> 30<% end %> 31
このフォームに記入するとwebアプリ上でEmail can't be blankとエラーが出ます。
コマンドラインでのパラメータはこのようになっています。
Parameters: {"utf8"=>"✓", "authenticity_token"=>"Or6h7W3NQy3ZxBmbTIuAsByPRrfwDaGv+vW2LxoC2M236FUjNJreuygiJ8mKQBfCaCmVQ+l99foDqxAuK1e1Aw==", "user"=>{"name"=>"こま", "email"=>"example@railstutorial.org", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"}
webアプリで検証をしたフォームはこのようになっています。
<input autofocus="autofocus" autocomplete="name" type="text" name="user[name]" id="user_name"> <input autofocus="autofocus" autocomplete="email" type="email" value="" name="user[email]" id="user_email">
フォーム入力したコマンドラインはこの通りです。
Processing by Users::RegistrationsController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"BxrW6LLYyy2J9VrGnoaMC3K+1gryb98mFKsvE35b2HGKTCIm649Wu3gTZJRYTRt5BhgF/usfi3Pt9YkSTw61vw==", "user"=>{"name"=>"koma", "email"=>"example@railstutorial.org", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"} Unpermitted parameter: :email (0.1ms) begin transaction ↳ /home/vagrant/.rbenv/versions/2.5.7/lib/ruby/gems/2.5.0/gems/activerecord-5.2.4.3/lib/active_record/log_subscriber.rb:98 (0.1ms) rollback transaction ↳ /home/vagrant/.rbenv/versions/2.5.7/lib/ruby/gems/2.5.0/gems/activerecord-5.2.4.3/lib/active_record/log_subscriber.rb:98 Rendering users/registrations/new.html.erb within layouts/application Rendered users/shared/_error_messages.html.erb (1.7ms) Rendered users/shared/_links.html.erb (1.0ms) Rendered users/registrations/new.html.erb within layouts/application (20.2ms) Completed 200 OK in 406ms (Views: 87.9ms | ActiveRecord: 0.1ms)
試したこと
補足情報(FW/ツールのバージョンなど)
railsを勉強して1週間ほどです。
コントローラーはどのように書いていますか?