如何在一些jQuery事件中运行Ruby中的动作并将params传递给动作?

时间:2012-09-07 08:11:03

标签: ruby-on-rails jquery

我想检查onBlur jQuery事件的用户名唯一性。我添加了特殊属性来查找我需要检查的字段:

<input data-validate="/checkname" id="user_email" name="user[email]" size="30" type="email" value="">

并在RegistrationsController中添加了操作(使用设计):

 def checkname
  if User.where('user = ?', params[:user]).count == 0
    render :nothing => true, :status => 200
  else
  render :nothing => true, :status => 409
  end
   return
  end

 ...routes...

   checkname GET   /checkname(.:format)  devise/registrations#checkname

我想从jQuery调用它,发送params添加css类依赖于checkname动作:

    $('[data-validate]').blur(function() {
    $this = $(this);
    $.get($this.data('validate'), {
        email: $this.val()
    }).success(function() {
        $this.addClass('valid');
    }).error(function() {
        $this.addClass('error');
    });
});

编辑:请求似乎在调用,但可能调用错误。来自Firebug网络标签:

  http://127.0.0.1:3000/checkname?email=new%40mail.com 404 not found

将new@mail.com输入电子邮件字段。

此代码不断向我的字段添加错误类,所以我有一些错误 - 有人建议在哪里?

0 个答案:

没有答案