简体   繁体   English

Rails:AJAX响应中current_user为nil

[英]Rails: current_user is nil in AJAX response

I want to create a simple AJAX request to my ruby controller, but can not reach current_user . 我想向我的ruby控制器创建一个简单的AJAX请求,但无法达到current_user The JS request: JS请求:

var myHeaders = new Headers();
myHeaders.append('X-CSRF-Token', "P7qiN53QfDGbHjCXdV8BzL8McxgT1lBkXE3WpjP7taydWrF7d+xkZi+b9fG9TC13IMy61jmGK8pzhmdAoHjlZA==");
var myInit = { method: 'GET',
  headers: myHeaders,
};

fetch('/get_user_last_activities.json', myInit).then(function(response) {
  if(response.ok) {
    console.log(response);
  }
  throw new Error('Network response was not ok.');
});

I use the 'omniauth-twitter' and 'omniauth-facebook' gems. 我使用'omniauth-twitter'和'omniauth-facebook'宝石。

The response tells that current_user is nil 🤔 How can I teach my controller to access current_user when rendering .json responses? 响应告诉current_usernil rendering呈现.json响应时,如何教我的控制器访问current_user

It looks like your browser isn't sending the cookie with the fetch request. 看来您的浏览器没有发送带有获取请求的cookie。 Try initializing like this: 尝试像这样初始化:

var myInit = { 
    method: 'GET',
    headers: myHeaders,
    credentials: 'same-origin'
};

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM