我想设置一个“创建帐户”页面。我使用的宝石是:
- 导轨 (3.2.3)
- simple_form (2.0.1)
- 全能身份
- twitter-bootstrap-rails (2.0.6)
- mongoid (2.2.3)
表格如下所示:
= simple_form_for @identity, :url => '/auth/identity/register', :html => { :class => 'form-horizontal' } do |f|
= f.input :name, :input_html => {:name => 'name'}
= f.input :email, :input_html => {:name => 'email'}
= f.input :password, :as => 'password', :input_html => {:name => 'password'}
= f.input :password_confirmation, :label => "Confirm Password", :as => 'password', :input_html => {:name => 'password_confirmation'}
.form-actions
= f.button :submit, 'Sign Up', class: 'btn-primary'
= link_to 'Cancel', root_path, class: 'btn-danger'
对应的身份模型是
class Identity
include Mongoid::Document
include OmniAuth::Identity::Models::Mongoid
field :name, :type => String
field :email, :type => String
field :password_digest, :type => String
validates_presence_of :name, :email
validates_uniqueness_of :email
validates_format_of :email, :with => /^[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,4}$/i
end
如果我没有填写表单的任何文本字段,然后单击“注册”,则表单不会显示来自验证器的任何错误消息,而是将我重定向到主页!
我是否遗漏了一些明显的东西,或者这可能是我使用的 gem 版本的问题?我当然可以使用 twitter-bootstrap 标记在没有 simple_form 的情况下实现相同的表单,但我更喜欢这种方式。