2011-12-28 9 views
0

ユーザーページで自分のアプリを設定しようとしています。画像がない場合は表示されません。新しい画像をアップロードするためのリンクも表示されます。画像が存在しない場合は表示されます。表示テキスト

は、私はこれを試してみましたが、それはundefined method 'image?' for #<WillPaginate::Collection:0x007f93a1e0e638>

- if @images.image? 
     - @images.each do |image| 
      = image_tag ("devices/#{image.device}.png"), :class => "img_#{image.device}" 
      - if image.image? 
       = link_to image_tag(image.image_url(:small), :class => "explore_#{image.device}"), image 
      - else 
       = image_tag '123-small.jpg', :class => "explore_#{image.device}" 
    - else 
     %p Looks like you don't have any images uploaded! 

編集示していますimages_controller.rbをあなたはどんなイメージが@imagesであるかどうかをテストしようとしているように見えます

def index 
    @title = "My Images" 
    @images = current_user.images.paginate(:page => params[:page]) 
end 
+0

[画像がRailsに存在するかどうかを確認する方法](http://stackoverflow.com/questions/7969241/how-to-check-if-image-exists-in-rails) –

+0

対応してくださいコントローラーコード –

+0

アミール、それは異なるものではありません。 –

答えて

3

、とだけそのために間違った方法を使用しています。代わりに試してください:あなたのコードによると

- if @images.present? 
+0

ブリリアント。私は '.exists? 'を使用しようとしていました。ありがとう:) –

0

@imagesは、配列のように作用する、明らかにimageWillPaginate::Collectionです。

したがって、@imagesは空でないかどうかをテストするために、あなたの代わりにif @images.present?またはunless @images.empty?を使用する必要があります。

関連する問題