设计将用户名视为电子邮件并要求@

时间:2015-12-08 11:28:40

标签: ruby-on-rails devise

我在Rails中使用设计认证gem与mongoid,所有最新版本(Rails 4.2,mongoid 5,devise 3.5,ruby 2.2.3)。

我在我的模型(也就是Researcher)中添加了:database_authenticatable模块并完成了this页面中的所有说明以使用用户名登录,我也有可验证和确认。

我的问题是设计将用户名验证为电子邮件,因此当我举例说用户时,它说“你忘了将@符号添加到电子邮件中”,这是一个截图:
the error message

这是我的rake routes

                        Prefix Verb   URI Pattern                             Controller#Action
                          root GET    /                                       researchers#new
        new_researcher_session GET    /researchers/sign_in(.:format)          researchers/sessions#new
            researcher_session POST   /researchers/sign_in(.:format)          researchers/sessions#create
    destroy_researcher_session DELETE /researchers/sign_out(.:format)         researchers/sessions#destroy
cancel_researcher_registration GET    /researchers/cancel(.:format)           researchers#cancel
       researcher_registration POST   /researchers(.:format)                  researchers#create
   new_researcher_registration GET    /researchers/sign_up(.:format)          researchers#new
  edit_researcher_registration GET    /researchers/edit(.:format)             researchers#edit
                               PATCH  /researchers(.:format)                  researchers#update
                               PUT    /researchers(.:format)                  researchers#update
                               DELETE /researchers(.:format)                  researchers#destroy
       researcher_confirmation POST   /researchers/confirmation(.:format)     researchers/confirmations#create
   new_researcher_confirmation GET    /researchers/confirmation/new(.:format) researchers/confirmations#new
                               GET    /researchers/confirmation(.:format)     researchers/confirmations#show
                   researchers GET    /researchers(.:format)                  researchers#index
                               POST   /researchers(.:format)                  researchers#create
                new_researcher GET    /researchers/new(.:format)              researchers#new
               edit_researcher GET    /researchers/:id/edit(.:format)         researchers#edit
                    researcher GET    /researchers/:id(.:format)              researchers#show
                               PATCH  /researchers/:id(.:format)              researchers#update
                               PUT    /researchers/:id(.:format)              researchers#update
                               DELETE /researchers/:id(.:format)              researchers#destroy

截图是/ studies / sign_up页面。

这是我的项目层次结构,控制器:

    tree app/controllers
app/controllers
├── application_controller.rb
├── concerns
├── researchers
│   ├── confirmations_controller.rb
│   └── sessions_controller.rb
└── researchers_controller.rb

观点:

   app/views
├── application
├── layouts
│   ├── application.html.erb
│   ├── mailer.html.erb
│   └── mailer.text.erb
├── researchers
│   ├── confirmations
│   │   └── new.html.erb
│   ├── new.html.erb
│   ├── sessions
│   │   └── new.html.erb
│   └── show.html.erb
└── researchers_confirmation
    ├── confirmation_instructions.html.erb
    └── confirmation_instructions.text.erb

我准备添加任何必要的信息。

PS

我现在只有设计,即使我没有确认和有效的问题,也会出现这个问题。

至于屏幕截图中的消息,我有ar.yml的阿拉伯语语言环境,我将默认语言环境设置为英语,用于截屏但看起来设计没有听我说,屏幕截图中的消息是翻译英文文本“请将”@“添加到电子邮件地址,因为”用户“缺少”@“符号”。

顺便说一下,我知道在设计初始化程序中有电子邮件的reg_exp,但我担心如果更改了,设计将不会将电子邮件字段验证为电子邮件。

1 个答案:

答案 0 :(得分:1)

也许问题出在表格的视野中。我认为警告信息是由浏览器触发的,而不是由您的js验证。

检查您是否错误地为用户名字段设置了input type=email