任何建议为什么会发生这种情况......?
members.rb文件
class Member < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
validates :firstName, :presence => true
end
new.html.erb文件
<h2>Sign up</h2>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<div><%= f.label :firstName %><br />
<%= f.email_field :firstName, :autofocus => true %></div>
<div><%= f.label :email %><br />
<%= f.email_field :email, :autofocus => true %></div>
<div><%= f.label :password %><br />
<%= f.password_field :password %></div>
<div><%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %></div>
<div><%= f.submit "Sign up" %></div>
<% end %>
<%= render "devise/shared/links" %>
答案 0 :(得分:0)
在Rails 4中,您需要列出您希望表单提交给您的参数。这被称为“强参数”。
Devise有自己的方式可以做到这一点,称为“消毒”。
查看这两个词。
答案 1 :(得分:0)
即使你没有输入名字也有可能,但是在params它仍然有空字符串“”的价值?如果您使用以下,它可以工作吗?
validates :firstName, length: { minimum: 2 }
你可以将2变成任何其他数字。
答案 2 :(得分:0)
使用此更新您的设计视图。
<h2>Sign up</h2>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<div><%= f.label :firstName %><br />
<%= f.text_field :firstname, :autofocus => true %></div>
<div><%= f.label :email %><br />
<%= f.email_field :email%></div>
<div><%= f.label :password %><br />
<%= f.password_field :password %></div>
<div><%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %></div>
<div><%= f.submit "Sign up" %></div>
<% end %>
<%= render "devise/shared/links" %>
和模型
validates :firstname, :presence => true