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
如何使用jQuery获得designe当前用户?_Jquery_Ruby On Rails 3_Devise - Fatal编程技术网

如何使用jQuery获得designe当前用户?

如何使用jQuery获得designe当前用户?,jquery,ruby-on-rails-3,devise,Jquery,Ruby On Rails 3,Devise,我有一个应用程序运行RoR和Desive gem。我正在尝试创建一个ajax,我需要传递当前登录的用户。如何使用jQuery获得它 _addUser: function(map, marker) { var data = <%= current_user %> //not work! $.ajax({ type : "POST", url : "/users", data: {user: data}, beforeSend: function

我有一个应用程序运行RoR和Desive gem。我正在尝试创建一个ajax,我需要传递当前登录的用户。如何使用jQuery获得它

_addUser: function(map, marker) {
  var data = <%= current_user %> //not work!
  $.ajax({
    type : "POST",
    url  : "/users",
    data: {user: data},
    beforeSend: function(x) {
      x.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))
    },
    success: function(x) {
      self._resetForm(form);
    }
  });
}
\u添加用户:函数(映射、标记){
var data=//不工作!
$.ajax({
类型:“POST”,
url:“/users”,
数据:{用户:数据},
发送前:函数(x){
x、 setRequestHeader('x-CSRF-Token',$('meta[name=“CSRF-Token”]”)。attr('content'))
},
成功:功能(x){
自重设表格(表格);
}
});
}

我对Desive gem一无所知,但我猜您会在AJAX调用的“success”函数中的“x”变量中找到所需内容。尝试通过放置console.log(x)来输出它;在self之前的success函数中。\u resetForm(form)。看看是否可以在响应对象中找到用户名。为了进一步解释,您不能在JavaScirpt中直接包含ruby代码。这一行将不起作用,因为当前用户是服务器端Ruby变量。您需要做的是检查在成功的ajax调用中返回给您的响应。希望它包含用户名。同样,我不确定Deviate是如何工作的,但我可以肯定地告诉您,如果AJAX调用应该获取用户名,那么上面混合在JavaScript中的Ruby变量将无法工作。这样的信息通常在成功后从服务器传回。我已经弄明白了。我决定在控制器中获取当前的_id,而不是在视图中。谢谢