2012-07-07 25 views
0

所以這裏就是我想: 對於表中的每一個藝術家,我希望它發佈它的名字和他做最後的三幅作品。獲得來自藝術家的所有作品的標題用Rails

這是我到目前爲止有:

class Artist < ActiveRecord::Base 
     attr_accessible :image, :name 

     has_many :works 

    end 


    class Work < ActiveRecord::Base 
     attr_accessible :artist_id, :exhibition_id, :image, :title 

     belongs_to :artist 
     belongs_to :exhibition 

    end 

<% @artists.each do |artist| %> 
<div class="one-artist"> 

    <h3><%= artist.name %></h3> 

    <div class="artist-work first-work"> 
     <%= artist.works.title %> 
    </div> 

<% end %> 

我想這將是接近藝術家可接受的方式工作,但似乎失敗。

它給了我下面的repsonse:

undefined method `title' for #<ActiveRecord::Relation:0x00000102e89038> 

回答

1

作品是包含所有作品的關係。如果你想訪問,比如說,第一個你應該寫點類似於artist.works.first.title

+0

謝謝,我明白了你的觀點,但我找不出解決方案。我如何才能達到一項工作? – polonium 2012-07-07 15:12:05

+0

您應該遍歷所有的作品使用每個,或者,如果你只想要第一個使用我上面寫的代碼:artist.works.first.title – davidrac 2012-07-07 15:14:23

+0

謝謝!有用。 – polonium 2012-07-07 15:20:27

1
<% artist.works.each do |work| %> 
    <div class="artist-work"> 
     <%= work.title %> 
    </div> 
<% end %> 
相關問題