【问题标题】:dynamic content with ajax (ruby on rails)使用 ajax 的动态内容(ruby on rails)
【发布时间】:2012-07-28 10:25:03
【问题描述】:
我正在使用 Rails 和 jquery,我需要一个带有 ajax 的动态内容。
但是我不知道如何获取当前用户ID
例如网址是 www.mywebsite.com/users/20
在我的 javascript 文件中,我需要用户 ID (20)
$.get("/users/<%= **20** %>.json", function(data)
{
}, "json");
提前感谢您的帮助。
还有其他方法吗?
【问题讨论】:
标签:
javascript
jquery
ruby-on-rails
ajax
json
【解决方案1】:
您可以将 rails 变量值分配给视图文件中的 javascript 变量,例如
""
并在任何你想要的地方访问 js 文件中的变量。
【解决方案2】:
很多选择:
-
如果你有一个当前用户对象的 id(注意:这必须在一个以 .js.erb 结尾的文件中):
$.get("/users/<%= @current_user.id %>.json", function(data){...}, "json");
如果您不想使用 .js.erb 文件,但仍需要在页面上的某处设置值,则使用 id 值设置数据属性或隐藏输入。
1234563 window.location.href 和一些字符串操作来获取 id。
【解决方案3】:
试试
我不完全确定 escape_javascript 是否必要或会有所帮助。
【解决方案4】:
通常我会在页面的某处放置一个带有id 的hidden 字段,我可以通过javascript 文件上的$("#user_id") 轻松访问,然后请求将是这样的:
var id = $("#user_id").val();
$.get("/users/"+id+".json", function(data) { }, "json");
【解决方案5】:
$.get("/users/<%= params[:id] %>.json", function(data)
{
}, "json");
应该做的伎俩。
将 sn-p 包含到 .erb 文件中或使用它创建一个 .js.erb 部分。