【发布时间】:2017-12-27 21:50:12
【问题描述】:
所以我输入了用户名、电子邮件和密码(+密码确认),点击提交后,它显示:“用户名不能为空”,我清楚地输入了用户名。
这是我的 user.rb
class User < ActiveRecord::Base
validates :user_name, presence: true, length: { minimum: 4, maximum: 16
}
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
这是我的registrations_controller:
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
<h2>Sign up</h2>
<%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :user_name %>
<%= f.input :email, required: true, autofocus: true %>
<%= f.input :password, required: true, hint: ("#{@minimum_password_length} characters minimum" if @minimum_password_length) %>
<%= f.input :password_confirmation, required: true %>
</div>
<div class="form-actions">
<%= f.button :submit, "Sign up" %>
</div>
<% end %>
<%= render "devise/shared/links" %>
add_username_to_users.rb(迁移)
class AddUsernameToUsers < ActiveRecord::Migration
def change
add_column :users, :username, :string
add_index :users, :username, unique: true
end
end
如果还有其他需要发布的,要查找有关错误的更多信息,请发表评论。另外,请注意我已经设计了 gem(正确安装)并且我正在使用 cloud 9 编辑器。提前致谢!
【问题讨论】:
-
你的代码在 github 上吗?
-
@jdgray ide.c9.io/kingsong/instagram
-
你能在这里给你看看迁移文件吗?
标签: ruby-on-rails devise cloud9-ide