1

delete_optionRails アプリで、コントローラー メソッド( ) からのフラッシュ メッセージを、質問フォルダー自体questions_controllerの部分にレンダリングしたいと考えています。_edit.html.erbjs ファイルがdelete_option.js.erbあり、以下の行を使用して編集を id の div 要素に正常にレンダリングできましたedit_subquestion

$("#edit_subquestion").html("<%= escape_javascript(render(:partial => "edit")) %>");

_edit.html.erb以下に示すように、フラッシュメッセージをレンダリングするためにdiv 要素を内部に配置します。

<div id="flash_delete_option"></div>

delete_option以下に示すように、メソッドから上記のdiv要素にフラッシュメッセージをレンダリングしようとしています。

if((<%=flash[:success]%>).length > 0)
    $("#flash_delete_option").html("<%= escape_javascript(render('<%=flash[:success]%>')) %>");

構文エラーが発生します。これを解決するのを手伝ってください。すべてが答えに従って試しました。わからない。

4

2 に答える 2

2

ruby を使用して edit.js.erb ファイルで条件を実行できます。また、escape_javascript の内部にいるため、そこで render を呼び出しません。

<% if flash[:success] %>
    $("#flash_delete_option").html("<%= escape_javascript flash[:success]%>");
<% end %>
于 2013-06-10T13:23:18.360 に答える
0

Jesse Wolgamott : if ループが問題でした。私はそれを修正しました。今、その作業。

<% unless flash[:success].blank? %>
    $("div .success").html("<%= escape_javascript (raw(flash[:success])) %>");
    $("div .success").show(200);
    $("div .success").click(function(){
        $("div .success").hide(200);
    });
<% end %>
于 2013-06-10T17:56:15.523 に答える