アプリへの写真のアップロードを処理するために Paperclip を使用していますが、写真を取得する際に問題が発生しています
すべての画像を正常に追加/削除/表示できますが、モデルの写真を 1 つだけ取得するにはどうすればよいですか? のように、最初のもの?
それらをすべて取得するには、次を使用します。
<%= form_for @hotel, :html => {:multipart => true} do |f| %>
<%= f.fields_for :hphotos do |hp|%>
<%= image_tag(hp.object.hphoto.url(:medium))%>
<%end%>
<%end%>
これは問題なく動作しますが、私のインデックスでは、表示されるホテルごとに 1 枚の写真のみを表示したいと考えています。私は得ています:
undefined method `Hphotos'
I also ran across: undefined method `url' when testing
問題はコントローラーにあると思われますが、何がわからないので、ここにあります(作成アクションも入れていますが、これは正常に機能します)
def index
@hotels= Hotel.search(params)
@hotels= <pagination>
#I think the issue is here
@hotels.Hphotos.build #changing to @hotels.Hphoto.build or @hotels.hphotos.build won't work and I think my issue is here.
respond_to do |format|
format.html
format.json { render :json => @hotels }
end
end
これはうまくいきます:
def new
@hotel = Hotel.new
2.times { @hotel.hphotos.build }
end
私はインデックスビューでこれをやっています:
<% @hotels.each do |hotel|%>
(...)
<%= image_tag hotel.hphoto.url(:small) %>
(...)
<%end%>
私が言ったように、最初の画像だけを取得したかったのですが、インデックスでもすべてを取得できないため、問題はコントローラーにあると思います。
読んでくれてありがとう、どんなヒントでも大歓迎です、私はちょっと立ち往生しています:)
よろしく