0

Ajax 呼び出しやその他の jquery コードを処理する、new.js、index.js、create.js などの js ファイルがたくさんあります。多くの共通コード スニペットがあるため、部分的な js ファイルを使用しようとしました。たとえば、新しい部分的な _new.js を呼び出す .js ファイル

new.js

    <%= render :partial=>'new',  :formats=>[:js],:handlers=>[:erb] %>

_new.js

    <% if params[:group_id]%>
      $("#group_participants_content").html("<%= escape_javascript(render(:partial=>'form'))%>");
      $(".remote_selected").removeClass("selected remote_selected simple-navigation-active-leaf");
      $("#group_mail").addClass(" remote_selected simple-navigation-active-leaf");
   <%else%>
     $("#users_content").html("<%= escape_javascript(render(:partial=>'form'))%>");
     $(".remote_selected").removeClass("selected remote_selected simple-navigation-active-leaf")
     $("#mail").addClass("remote_selected simple-navigation-active-leaf");
  <%end%>
  // Change our States
History.replaceState({action:'<%= "#{controller.action_name}/#{controller_name}" %>'}, '<%=       "#{controller.action_name.titleize} #{controller_name}" %>', '?action=<%=  "#{controller.action_name}/#{controller_name}" %>');
var url=History.getState().url;   
$("#help").attr('href',"/helps/0?url="+url)

それは機能しますが、役立つように、ローカルを次のように追加したいと思います

    <%= render :partial=>'new',  :formats=>[:js],:handlers=>[:erb], :locals=>  {:id=>"#group_participants_content"}%>

_new.js を次のように変更します。

  $('"'+id+'"').html("<%= escape_javascript(render(:partial=>'form'))%>");

ただし、それは機能しません-jsファイルはまったくロードされていないようです

何が間違っているかについて何か提案がある人はいますか?

助けていただけませんか?

4

2 に答える 2

1

これは

$("<%=id%>").html("<%= escape_javascript(render(:partial=>'form'))%>");
于 2013-07-28T11:12:21.960 に答える
0

来る id は既に引用符で囲まれています。コードはそれを引用符で囲み、直接渡します。うまくいくことを願っています:

$(id).html("<%= escape_javascript(render(:partial=>'form'))%>");
于 2013-07-28T11:08:59.167 に答える