我在创建用户的表单时遇到问题...这是我的“新”代码
<%= form_for @user do |f| %>
<% if @user.errors.any? %>
<% for message in @user.errors.full_messages %>
<div class="alert">
<button type="button" class="close" data-dismiss="alert">×</button>
<%= message %>
</div>
<% end %>
<% end %>
<div class="field">
<%= f.label :username %>
<%= f.text_field :username %>
</div>
<div class="field">
<%= f.label :email %>
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %>
<%= f.password_field :password %>
</div>
<div class="field">
<%= f.label :password_confirmation %>
<%= f.password_field :password_confirmation %>
</div>
<div class="actions"><%= f.submit "Registrarse" %></div>
<% end %>
控制器和“创建”
def create
@user = User.new(params[user])
if @user.save
redirect_back_or_to root_url, :notice => "Usuario Registrado Satisfactoriamente!"
else
render :new, :notice => "No se ha podido registrar"
end
end
当我创建用户时,这将转到登录表单,并且收到一条消息为空,因为我有一个“if”如果我有消息,这显示我有一些css的div,所以我可以看到一个错误发生了,但这是空的,我有什么不对?我没有看到任何东西......当然,用户没有被创建。 谢谢你的帮助,我是红宝石的新手。抱歉我的英文不好xd
答案 0 :(得分:1)
问题在于您最有可能引用password_confirmation
,这通常是输入标记。你很可能在你的数据库中没有这个字段,因为它只是一个可怕的做法。你在密码吗?
在github和Railscasts上查看sorcery。它在覆盖身份验证方面做得很好。
此外,您需要在:user
=&gt;中使用params
User.new(params[:user])