我在Rails中使用设计认证gem与mongoid,所有最新版本(Rails 4.2,mongoid 5,devise 3.5,ruby 2.2.3)。
我在我的模型(也就是Researcher)中添加了:database_authenticatable模块并完成了this页面中的所有说明以使用用户名登录,我也有可验证和确认。
我的问题是设计将用户名验证为电子邮件,因此当我举例说用户时,它说“你忘了将@符号添加到电子邮件中”,这是一个截图:
这是我的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
我准备添加任何必要的信息。
我现在只有设计,即使我没有确认和有效的问题,也会出现这个问题。
至于屏幕截图中的消息,我有ar.yml的阿拉伯语语言环境,我将默认语言环境设置为英语,用于截屏但看起来设计没有听我说,屏幕截图中的消息是翻译英文文本“请将”@“添加到电子邮件地址,因为”用户“缺少”@“符号”。
顺便说一下,我知道在设计初始化程序中有电子邮件的reg_exp,但我担心如果更改了,设计将不会将电子邮件字段验证为电子邮件。
答案 0 :(得分:1)
也许问题出在表格的视野中。我认为警告信息是由浏览器触发的,而不是由您的js验证。
检查您是否错误地为用户名字段设置了input type=email
。