devise使用でnicknameカラムを加えました。
モデル
class User < ApplicationRecord # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable, :trackable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable validates :nickname ,presence: true end
コントローラ
class ApplicationController < ActionController::Base class ApplicationController < ActionController::Base before_action :configure_permitted_parameters, if: :devise_controller? protected def configure_permitted_parameters devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname]) end end end
ビュー
<h2>Sign up</h2> <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> <%= render "devise/shared/error_messages", resource: resource %> <div class="field"> <%= f.label :nickname %><br /> <%= f.text_field :nickname, autofocus: true %> </div> 省略
ターミナル
Started POST "/users" for ::1 at 2020-03-12 23:32:21 +0900 Processing by Devise::RegistrationsController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"IZ92hrfT8KY4pVDUeQFm926oGkivoKRPj03puzsbHsRTlxJ9qUwaGCUFvZx4iQM8Uj/nT9+fdvenH0qsL7TpPw==", "user"=>{"nickname"=>"annaPanda", "email"=>"www@www", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}, "commit"=>"Sign up"} Unpermitted parameter: :nickname (0.2ms) BEGIN ↳ /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/activerecord-5.2.4.1/lib/active_record/log_subscriber.rb:98 User Exists (0.3ms) SELECT 1 AS one FROM `users` WHERE `users`.`email` = BINARY 'www@www' LIMIT 1 ↳ /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/activerecord-5.2.4.1/lib/active_record/log_subscriber.rb:98 (0.1ms) ROLLBACK ↳ /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/activerecord-5.2.4.1/lib/active_record/log_subscriber.rb:98 Rendering devise/registrations/new.html.erb within layouts/application Rendered devise/shared/_error_messages.html.erb (0.7ms) Rendered devise/shared/_links.html.erb (0.6ms)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。