【问题标题】:how to check email exist in rails, devise gem如何检查rails中是否存在电子邮件,设计gem
【发布时间】:2015-09-09 02:32:15
【问题描述】:

我是 Ruby 的初学者。

我已经使用 Rails 创建了我的网站,并且正在使用 Devise gem 来创建用户。 在注册中。 users/registrations/new.html.erb 我有:

<div class="form-group">
    <%= f.label :"Email address  *" %>
    <%= f.email_field :email, class: "form-control" , placeholder: "Enter your email", name: "email" %>
</div>

我在我的验证表单上使用了一个 jQuery 验证插件,添加了一个新规则:

jQuery.validator.addMethod("checkAlreadyEmail", function( value, element ) {
  var unavailable = true;
  $.ajax({
    url : '/users/check_already_email',
    type : "POST",
    async: false,
    data : 'email =' + value,
    dataType : "json",
    success : function(data) {
      if(data.available == true){
        unavailable = false;
      }
    }
  });
  return unavailable;
}, "This email is already taken");

$("#new_user").validate({
  rules: {
    email: {
      required: true,
      email: true,
      checkAlreadyEmail: true,
      },}
messages: {
    email: {
      required: "Please enter your email",
      email: "Please enter valid email address",
      checkAlreadyEmail: "This email is already taken",
    },},})

在 users/registrations_controller.rb 我有

def check_already_email
    @email = users.search(params[:email])
  end

接下来是什么?抱歉,这是我第一次在 StackOverflow 上提问。

【问题讨论】:

  • 这是一个相当广泛的问题。你有什么真正想知道的吗?
  • 对不起,我只想检查 rails 中存在的电子邮件,并通过 validate 中的消息显示。感谢 Rohit Gupta :)
  • 为什么要使用 JQuery 进行验证?您可以使用 validates :email, unique: true 轻松地将验证添加到您的用户模型

标签: ruby-on-rails ruby devise jquery-validate


【解决方案1】:

这个过程是如何运作的,

1 - 用户填写表格

2 - 用户点击submit按钮

3 - JQuery validator 将根据您定义的规则验证表单,如果一切正常,则提交表单(这将在数据库中创建一个用户)

根据您的代码,您应该在config/routes.rb 中添加一个路由来处理请求check_already_email。类似的东西..

#config/routes.rb
get "registrations/check_already_email" =>"registrations#check_email", as: :check_email

下面是almost the same thing which you try to do,看看

【讨论】:

    猜你喜欢
    • 2011-06-03
    • 2011-06-07
    • 2019-11-02
    • 1970-01-01
    • 2013-01-05
    • 2016-12-06
    • 2016-08-20
    • 2012-09-09
    • 2017-04-01
    相关资源
    最近更新 更多