5

Rails と jquery を使用しており、ajax を使用した動的コンテンツが必要です。

しかし、現在のユーザーIDを取得する方法がわかりません

たとえば、URL は www.mywebsite.com/users/ 20です。

私のJavaScriptファイルでは、ユーザーID(20)が必要です

$.get("/users/<%= **20** %>.json", function(data)
      {

      }, "json");

助けてくれてありがとう。


これを行う別の方法はありますか?

4

5 に答える 5

5

一般的に、JavaScriptファイルで簡単にアクセスできるページのどこかにhiddenフィールドを配置すると、リクエストは次のようになります。 id$("#user_id")

var id = $("#user_id").val();
$.get("/users/"+id+".json", function(data) { }, "json");
于 2012-07-30T17:58:42.563 に答える
4

次のように、ビューファイルのjavascript変数にrails変数の値を割り当てることができます

"<%= javascript_tag "var userId = #{@current_user.id};" %>"

好きな場所でjsファイル内の変数にアクセスします。

于 2012-08-07T11:02:32.490 に答える
2
$.get("/users/<%= params[:id] %>.json", function(data)
  {

  }, "json");

トリックを行う必要があります。

スニペットを .erb ファイルに含めるか、これを使用して .js.erb パーシャルを作成します。

于 2012-07-30T17:52:59.167 に答える
1

多くの選択肢:

  1. id を持つ現在のユーザー オブジェクトがある場合 (: これは で終わるファイルにある必要があります.js.erb):

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

  2. ファイルを使用したくない.js.erbが、ページのどこかに値を設定する必要がある場合は、データ属性または非表示の入力に id 値を設定します。

  3. URL に ID 値がある場合 (現在の URL のように見えwww.mywebsite.com/users/20、GET 要求で値として 20 を使用する必要がある場合)、document.urlまたはwindow.location.hrefおよびいくつかの文字列操作を使用して ID を取得できます。

于 2012-07-31T18:50:28.510 に答える
0

<%= escape_javascript(params[:id]) %> を試してください。escape_javascript が必要かどうか、または役立つかどうかは完全にはわかりません。

于 2012-07-30T19:53:45.380 に答える