0

私は Rails アプリを作成しています。誰かがプロパティを検索し、クリックして詳細を表示したときに、プロパティの詳細とそのプロパティの画像を表示したいと考えています。すべてのプロパティの詳細を含むテーブルを把握し、Amazon S3 に画像をアップロードしましたが、画像の URL を作成する方法がわかりません。

データベースのすべてのプロパティには、メイン データベース テーブルに sysid (たとえば 335758034) があり、その sysid は S3 イメージ URL に含まれ、イメージ番号はその URL の末尾に追加されるため、次のような URL を計算することができます。それで:

https://s3.amazonaws.com/images732/Photo335758034-3.jpeg

表の列には、物件の画像の数が表示されます。したがって、5 つの画像があることがわかっている場合は、次のようにループする必要があります。

https://s3.amazonaws.com/images732/写真 + sysid-1.jpeg

https://s3.amazonaws.com/images732/写真 + sysid-2.jpeg

https://s3.amazonaws.com/images732/写真 + sysid-3.jpeg

https://s3.amazonaws.com/images732/写真 + sysid-4.jpeg

https://s3.amazonaws.com/images732/写真 + sysid-5.jpeg

それ、どうやったら出来るの?どんな助けでも大歓迎です、ありがとう、アダム

アップデート:

それがどのように終わったかは次のとおりです。

<table summary="Property images">
    <% (1..@property.image_count).each do |photo| %>
<tr>
  <td><%= image_tag("https://s3.amazonaws.com/images732/Photo#{@property.sysid}-#{photo}.jpeg") %></td>
</tr>

<% end %>

4

2 に答える 2

0

Railsでは、

(1..5).each do |n|
  image_tag "https://foo.com/photo/photo-#{n}.jpg"
end

もちろん、この例のように範囲を反復処理する代わりに、必要なものをループするだけで済みます。

于 2012-05-23T17:27:54.420 に答える
0

レールがS3と直接通信できるように、ペーパークリップの使用を検討することをお勧めします。写真を含むテーブルを作成し、プロパティレコードをhas_many:photosに設定できます。その時点で、プロパティオブジェクトの写真のコレクションを参照するのは簡単です。何かのようなもの

@property.photos.each do |photo|
   image_tag photo.url
end

そうすれば、レールにすべての背景情報を処理させることができます。ペーパークリップとs3の使用に関する情報については、これらをご覧ください。

http://doganberktas.com/2010/09/14/amazon-s3-and-paperclip-rails-3/

http://railscasts.com/episodes/134-paperclip

于 2012-05-23T17:35:11.250 に答える