5

Twitter Bootstrap ポップオーバーを使用してユーザーのアバターとメール アドレスを表示し、後で詳細を追加できるようにしたいと考えています。

リンクのコンテンツ フィールド内でパーシャルをレンダリングする際に問題が発生しています。ビュー コードは次のとおりです (HAML 内)。

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

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

コードの代わりに文字列としてパーシャルが挿入されるようにする方法はありますか?

4

2 に答える 2

10

文字列を表示するだけでなく、実際に文字列の内容を評価するレールが必要です。これを行う最も簡単な方法は次のとおりです。

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

これにより、render ステートメントがレールに渡され、パーシャルが期待どおりにレンダリングされます。

于 2012-09-18T02:57:09.330 に答える
1

答えてくれてありがとうjrc-解決策を見つけるのに役立ちました。

私のソリューションは、私のような他の非 HAML の人々に役立つかもしれません:

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

`$(function () {
$('.popover-history').popover({ html : true });
});`
于 2015-09-14T06:16:46.057 に答える