私はキャリアウェーブを使って写真を自分のアプリにアップロードしています。写真にはそれぞれの場所と 'belongs_to'の関係があり、場所は写真と 'has_many'の関係にあります。私のショーページには、場所の写真がアップロードされていて、通常のようにループで表示されます。しかし、私のインデックスページで私は自分の場所をループし、その場所の写真を表示したい。写真は正しいlocation_idを持っていますが、その場所の写真にアクセスするためのビューの構文についてはわかりません。私がしたいのは、@photo(location.id.last)のような特定の場所に関連する写真の1つを表示することです。どんな助けも大歓迎です、事前に感謝します。ビュー内のインスタンス変数idにアクセスする方法
ビュー
<div class="row">
<!-- featured listings gallery -->
<% @locations.each do |location| %>
<% if location.featured == "true" %>
<div class="col-md-4 col-xs-6">
<div class="thumbnail">
<div class="overlay">
<%= image_tag @photos, :size => '400x300', :class => 'img-responsive' %>
<div class="effect">
<div class="overlay-header">
<%= location.name %>
</div>
<div class="location-link">
<%= link_to "View Building", location_path(location) %>
</div>
</div>
</div>
<h3 class="display-box-caption">
<%= truncate(location.description, length: 100) %><%= link_to 'More', location_path(location), :class => 'more-info' %>
</h3>
</div>
<div class="col-md-12 property-link-container">
<%= link_to "View Building", location_path(location), :class=>"property-link" %>
</div>
</div>
<% end %>
<% end %>
</div>
コントローラ
class PagesController < ApplicationController
def index
@locations = Location.all
@photos = Photo.all
end
def about
end
def faqs
end
def blog
end
def whats_included
end
終了協会の助けを借りて、写真にアクセス
「<%= location.photos.last.id%>」(これはあなたに最後の写真のIDを与えます)と、<%= locationあなたが既に関連付けを定義しているので、 '.photos.last%>'(それはあなたに写真オブジェクト自体を与えます)。 – sahil