【问题标题】: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】:

      很多选择:

      1. 如果你有一个当前用户对象的 id(注意:这必须在一个以 .js.erb 结尾的文件中):

        $.get("/users/&lt;%= @current_user.id %&gt;.json", function(data){...}, "json");

      2. 如果您不想使用 .js.erb 文件,但仍需要在页面上的某处设置值,则使用 id 值设置数据属性或隐藏输入。

      3. 1234563 window.location.href 和一些字符串操作来获取 id。

      【讨论】:

        【解决方案3】:

        试试 我不完全确定 escape_javascript 是否必要或会有所帮助。

        【讨论】:

          【解决方案4】:

          通常我会在页面的某处放置一个带有idhidden 字段,我可以通过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 部分。

            【讨论】:

            • 没错,在我的回答中添加了更多信息
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多