0

次のことが可能かどうか疑問に思っています

たくさんの記事があり、たくさんの写真があります。

すべての記事と記事に属するすべての写真セットを表示しようとしています。コントローラーで私に次のことをしたい

@mosttop = Article.all[1..-1]
@loc = @mosttop.photos
4

2 に答える 2

2

のセットがありarticlesます。Article.all[1..-1]なんらかの理由で使用するので、そのまま使用します。
次に、すべてphotosarticles1 つのセットにマージしphotosますか?

を使用しているので、使用Railsできますflat_map

@articles = Article.all[1..-1]
@photos = @articles.flat_map(&:photos)

@photos.each do |photo|
  # show photo
end
于 2012-11-14T01:05:26.677 に答える
1
# app/models/article.rb
has_many :photos

# app/models/photo.rb
belongs_to :article

# app/controllers/article_controller.rb
def index
  @articles = Article.include(:photos).all
end

# app/views/articles/index.html.erb
<%= render :partial => "articles/article_with_photos", :collection => @articles

# app/views/articles/_article_with_phots.html.erb
<H2><%= article.title %></H2>
Photos
<ul>
  <% article.photos.each do |photo| %>
    <li><%= image_tag(photo.url) %></li>
  <% end %>
</ul>
于 2012-11-14T18:30:08.797 に答える