2016-04-26 20 views
0

で、データベース内のすべてのアイテムの存在を一覧表示する必要があります私はすべてのサブジェクト名を表示するサブジェクトのインデックスページを持っています。は、私は2つのモデルを持っているツールチップ

<script> 
$(document).ready(function(){ 
    $('[data-toggle="tooltip"]').tooltip(); 
}); 
</script> 

<%= form_tag destroy_multiple_subjects_path, method: :delete do %> 
    <table class="pretty"> 
    <tr> 
     <th></th> 
     <th>Username</th> 
     <th>Subject name</th> 
     <th>Description</th> 
     <th>Active</th> 
    </tr> 

    <% @subjects.each do |subject| %> 
     <tr> 
     <td><%= check_box_tag "subject_ids[]", subject.id %></td> 
     <td><%= subject.try(:user).try(:username)%></td> 
     <td data-toggle="tooltip" data-placement="right" title="<%=subject.books%>"><%= subject.name %></td> 
     <td><%= subject.description %></td> 
     <td><%= subject.active %></td> 
     <td><%= link_to 'Show', subject_path(subject) %></td> 
     <td><%= link_to 'Edit', edit_subject_path(subject) %></td> 
     </tr> 
    <% end %> 
    </table> 
    <%= submit_tag "Delete selected" %> 
<%end%> 

index.html.erb

今私は、件名(ツールチップ)の名前の上にホバリング時にSubjectに属するすべての書籍を表示する必要があります。私はそれをやってみましたし、アクティブなレコードのコレクション(<Book:ActiveRecords_Associations_CollectionProxy:0x007fedfgs>)を得たが、対象者の名前の上にマウスを移動するとき、私は、反復処理する方法を知っていると、ツールチップ内のすべてのブックの名前が表示されません。これ以上の情報を提供する必要がある場合はお知らせください。 subject.booksを行う

+0

「私はそれをやってみました、アクティブなレコードコレクションを取得」< - あなたが見ている正確に何で手の込んだことができますか? <(:名&).join( '')%%= subject.books.map>を – RichardAE

+2

だけで行います –

答えて

0

はあなたにActiveRecord::Associations::CollectionProxyのオブジェクトを提供します。あなたはちょうどあなたが書面で行うことができますすべての書籍の名前を持っている必要があります:

<%= subject.books.map(&:name).join(', ') %> 
1

これを試してみてください:

<%= subject.books.map(&:name).join(", ") %> # or whatever attribute to display name of the book 
1

私が代わりにpluckを使用してお勧めします。

<%= subject.books.pluck(:name).join(', ') %> 

また、妥当なlimitを設定するとよいでしょう。多分5?

関連する問題