サインアップ(/ users/sign_up)しようとすると、エラーが発生します。NoMethodError in Registrations#new
NoMethodError in Registrations#new
Showing /home/ubuntu/workspace/app/views/devise/registrations/new.html.erb where line #13 raised:
undefined method `user_name' for #<User id: nil, email: "", created_at: nil, updated_at: nil>
私はコースに続いて初心者です。私の友人もこのエラーを受けました。
class RegistrationsController < Devise::RegistrationsController
private
def sign_up_params
params.require(:user).permit(:email, :user_name, :password, :password_confirmation)
end
def account_update_params
params.require(:user).permit(:email, :user_name, :password, :password_confirmation, :current_password)
end
end
そして、ここでの工夫/登録/ new.html.erbのnew.html.erbファイルです:
私はregistration_controllerの私のコードがあるので、ここでそれを修正するかどうかはわかりません<div class="registration-bg">
<div class="container">
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="log-in panel">
<div class="panel-heading">
<h2>Create Your Account</h2>
</div>
<%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= f.error_notification %>
<div class="panel-body">
<%= f.input :email, required: true, autofocus: true, label: false, placeholder: 'Email', input_html: { class: 'input-lg' } %>
<%= f.input :user_name, required: true, label: false, placeholder: 'User Name', input_html: { class: 'input-lg' } %>
<%= f.input :password, required: true, label: false, placeholder: 'Password', input_html: { class: 'input-lg' } %>
<%= f.input :password_confirmation, required: true, label: false, placeholder: 'Confirm Password', input_html: { class: 'input-lg' } %>
<%= f.button :submit, "Sign up", class: 'btn-lg btn-info btn-block' %>
</div>
<% end %>
</div>
</div>
</div>
</div>
</div>
は、USER_NAME列であるように思わユーザーテーブルでは使用できません。 –
@SampatBadheだから、モデルを生成するレーキを実行する必要がありますか? – Freddee
あなたはすでにユーザーモデルを持っています。 'user_name'カラムを追加するためにマイグレーションを追加するだけです。 –