2012-09-16 18 views
5

TwitterのBootstrapポップオーバーを使用してユーザのアバターと電子メールアドレスを表示したい場合は、後で詳細を追加することができます。Rails - Render partial in Twitter Bootstrap popover

リンクのコンテンツフィールド内で部分的にレンダリングする際に問題が発生しました。ビューコードは下にあります(HAML内)。

%span.comment-username 
    =link_to comment.user_name, "#", "title" => comment.user_name, 
     "data-content" => "=render 'users/name_popover'", 
     class: "comment-user-name" 

現在のところ、これはコンテンツコードを文字列としてのみ生成します。

コードの代わりに部分文字列を文字列として挿入する方法はありますか?

答えて

10

実際には、文字列を表示するだけでなく、文字列の内容を実際に評価する必要があります。

%span.comment-username 
    =link_to comment.user_name, "#", "title" => comment.user_name, 
    "data-content" => "#{render 'users/name_popover'}", 
     class: "comment-user-name" 

レンダリングステートメントをレールに渡して、部分的にレンダリングする必要があります。

+0

'<%= link_to('Service History' , '#', :class => "popover-history", :rel => "popover", :"data-placement" => "bottom", :title => "Service History", :"data-content" => "#{render 'services/service_history'}") %>' 

おかげ - いじりのビットの後、この結論に達しました。うまくいけば、他の人たちに役立つことでしょ – jmc

+0

これは私のためには機能しません。私はエスケープHTMLを取得します。助言がありますか? –

+0

@KyleDecotは試しましたか?html => 'true'オプション? – anpsmn

1

回答ありがとうございます。jrc - 解決策を見つけるのに役立ちました。

私のソリューションは、私のような他の非HAMLの人々のために有用であるかもしれない:

`$(function() { 
$('.popover-history').popover({ html : true }); 
});` 
+0

Rails 4.2.2ビューにマップを表示したかったのです。私はポップオーバーウィンドウの書式を変更したい場合に備えて、まっすぐなhtmlコードの代わりにpartialsを使いたいと思っていました。この解決策は私の質問に答えました。 –

関連する問題