0

私のコントローラーでは、.html() を使用して、div 内の jQuery を介して挿入される json 応答内に HTML を返したいと考えています。

私のコントローラー:

div_content = view_context.link_to "logout", logout_path, method: :delete + '<div class="
return render :json => {:success => true, :username => current_user.email, :div_content =>  div_content}

JavaScript :

$('#special_div').html(data.div_content)

このコンテンツは html エンコードされているため、HTML はレンダリングされません。JavaScript側で正規表現などを使用して文字列を変換できることは知っていますが、サーバーからエンコードして送信しないことは理にかなっているようです。

4

1 に答える 1

0

より正しい解決策は、必要なすべてのロジックとフォーマットを含むパーシャルをレンダリングすることであることがわかりました。部分的にテンプレートエンジンなどを使用できるため、これははるかに理にかなっています。

于 2013-02-06T17:16:49.557 に答える