0

私は以下を機能させようとしています: ID を持つ特定の div がクリックされたときに、jQuery 関数が特定のパーシャルをロードするようにします。この ID を、パーシャルと一緒に使用している :locals の一部にしたい。

$("#main>.dots").live("mousedown", function(e) {
        $num = 8;
        $("#main").append("<%= escape_javascript(render :partial => 'projects/show',     :locals => {:i => "#{$num}"}).html_safe %>")
    })

これまでのところ、私はそれを正しくすることができませんでした。上記のコードは「nil の呼び出された ID」を返すため、$num が escape_javascript 関数に適切に渡されません。$num を整数 8 に置き換えると、機能します ( <% %> タグの間)。

解決策はありますか?

構文:

$("#main").append("<%= escape_javascript(render :partial => 'projects/show', :locals => {:i => 8}).html_safe %>")

動作するので、8がもちろんjQueryであることを除いて、それが私が行きたい方法です

4

1 に答える 1

0

私はこれを修正しました

var dataString = "projectid=" + $(this).attr("id") + "&left=" + $(this).css("left") + '&top=' + $(this).css("top");
    $.ajax({
        url: "/projects/show",
        type: "get",
        data: dataString,
        success: function(data) {
            $("#main").append(data)
        }
    });

だから基本的に私はAJAXに行ったので、POSTデータを正しいコントローラーアクションに送ることができました:)

于 2013-01-16T16:30:44.593 に答える