我正在使用 Rails 和 jquery,我需要一个带有 ajax 的动态内容。
但我不知道如何获取当前用户ID
例如,网址是 www.mywebsite.com/users/ 20
在我的 javascript 文件中,我需要用户 ID (20)
$.get("/users/<%= **20** %>.json", function(data)
{
}, "json");
提前感谢您的帮助。
还有另一种方法吗?
我正在使用 Rails 和 jquery,我需要一个带有 ajax 的动态内容。
但我不知道如何获取当前用户ID
例如,网址是 www.mywebsite.com/users/ 20
在我的 javascript 文件中,我需要用户 ID (20)
$.get("/users/<%= **20** %>.json", function(data)
{
}, "json");
提前感谢您的帮助。
还有另一种方法吗?
通常我在页面中的某处放置一个hidden
字段,我可以在 javascript 文件上轻松访问,然后请求将是这样的: id
$("#user_id")
var id = $("#user_id").val();
$.get("/users/"+id+".json", function(data) { }, "json");
您可以将 rails 变量值分配给视图文件中的 javascript 变量,例如
"<%= javascript_tag "var userId = #{@current_user.id};" %>"
并在任何你想要的地方访问 js 文件中的变量。
$.get("/users/<%= params[:id] %>.json", function(data)
{
}, "json");
应该做的伎俩。
将代码段包含到 .erb 文件中或使用它创建一个 .js.erb 部分。
很多选择:
如果您有一个带有 id 的当前用户对象(注意:这必须在以 结尾的文件中.js.erb
):
$.get("/users/<%= @current_user.id %>.json", function(data){...}, "json");
如果您不想使用.js.erb
文件,但仍需要在页面上的某处设置值,则使用 id 值设置数据属性或隐藏输入。
如果您在 url 中有 id 值(就像您所在的当前 url 一样www.mywebsite.com/users/20
,并且您希望 GET 请求使用 20 作为值),您可以使用document.url
orwindow.location.href
和一些字符串操作来获取 id。
尝试 <%= escape_javascript(params[:id]) %> 我不完全确定 escape_javascript 是否必要或会有所帮助。