モデルにユーザー名フィールドを追加しましたUser
が、新しいユーザー レコードを作成するときにデバイスがそれを認識していないようです。電子メール、ユーザー名、およびパスワードを入力しましたが、params ハッシュに明確に含まれているにもかかわらず、「ユーザー名を空白にすることはできません」という検証エラーが表示されます。ユーザー名でログインする必要はありませんが、新しいアカウントに登録するときに設定するだけで済みます。
Rails 4を使用しており、deviseのgithub READMEに記載されている強力なパラメーターを実装しました。
ここに私のuser.rb
ファイルがあります
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
before_save { |user| user.username = user.username.downcase }
validates_presence_of :username
validates_uniqueness_of :username, case_sensitive: false
ここに私のapplication_controller.rb
ファイルがあります
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
before_filter :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:email, :username, :password, :password) }
end
end
registrations/new.html.erb
ファイルも追加しました:
<div><%= f.label :username %>
<%= f.text_field :username %></div>
新しいユーザー レコードを送信したときの params ハッシュの内容は次のとおりです。
user: !ruby/hash:ActionController::Parameters
username: David
email: david@example.com
password: foobar12
password_confirmation: foobar12
何か案は?