Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 即使在我成功设置X-CSRF-Token头之后,rails 401仍然出错_Ruby On Rails 3_Jquery Validate_Csrf - Fatal编程技术网

Ruby on rails 3 即使在我成功设置X-CSRF-Token头之后,rails 401仍然出错

Ruby on rails 3 即使在我成功设置X-CSRF-Token头之后,rails 401仍然出错,ruby-on-rails-3,jquery-validate,csrf,Ruby On Rails 3,Jquery Validate,Csrf,我正在制作一个注册表单,希望使用jquery验证插件来检查用户名是否唯一 路线: resources :users, :only => [:show] do collection do post 'check_user_name_uniq' get 'check_email' get 'check_password' end 控制器: def

我正在制作一个注册表单,希望使用jquery验证插件来检查用户名是否唯一

路线:

resources :users, :only => [:show] do
  collection do                      
    post 'check_user_name_uniq'     
    get 'check_email'                
    get 'check_password'             
  end  
控制器:

def check_user_name_uniq
  render :json => User.valid_attribute?(:user_name, params[:user][:user_name]).to_json
end
javascript:

$("#new_user").validate({
  debug: true,
  rules: {
    "user[user_name]": {
      required: true,           
      remote: {
        url:  "/users/check_user_name_uniq", // check user_name uniqueness
        type: "POST",
        dataType: "json"
      }
    }                                        
  },...
我通过以下方式设置X-CSRF-Token头:

$.ajaxSetup({
  beforeSend: function(jqXHR) {
    jqXHR.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'));
  }
});
但当我输入用户名时,仍然有401错误:

Started POST "/users/check_user_name_uniq" for 192.168.157.1 at 2013-04-26 23:52:22 +0800
Processing by UsersController#check_user_name_uniq as JSON
  Parameters: {"user"=>{"user_name"=>"tomwang"}}
Completed 401 Unauthorized in 36ms
我不知道为什么会发生这个错误,因为他们说头可以解决这个问题:

您是否确保布局中存在