ユーザモデルにプロパティ名を追加したいと思います。私は、移行コマンドを実行してデータベースに列を追加し、それが機能しました。ユーザー自身にプロパティを追加することもできましたが、dbには保存されません。ruby on railsでdeviseからユーザに余分なパラメータを追加
RegistrationControllerのsign_up
とaccount_update
の必須パラメータにどのようにプロパティ "name"を追加できますか?
は、これは私のユーザモデル
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessor :name
end
私はラインを追加しましたルーティングではRegistrationController
class Users::RegistrationsController < Devise::RegistrationsController
def sign_up_params
params.require(:user).permit(:name,:email, :password, :password_confirmation)
end
def account_update_params
params.require(:user).permit(:name, :email, :password, :password_confirmation, :current_password)
end
end
にこのようmethodesに必要なのparamsを追加しようとしたある
devise_for :users, controllers: { registrations: 'users/registrations' }
しかし、ユーザーの名前データベースには保存されません。
class Users::RegistrationsController < Devise::RegistrationsController
def sign_up_params
devise_parameter_sanitizer.for(:sign_up).push(:name)
end
def account_update_params
devise_parameter_sanitizer.for(:account_update).push(:name, :email, :password, :password_confirmation, :current_password)
end
end
それは足場によって、または手動で作成されたのですか? –
工作員が足場から来た – Kupi