Рельсы, если изображение не существует, показать текст - PullRequest
0 голосов
/ 28 декабря 2011

Я пытаюсь настроить свое приложение так, чтобы на странице пользователя, если у них нет изображений, отображается текст, говорящий, что их нет. Также будет показана ссылка для загрузки новых изображений.

Я пробовал это, но он показывает 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

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

Ответы [ 2 ]

3 голосов
/ 28 декабря 2011

Похоже, вы пытаетесь проверить, есть ли изображения в @images, и просто используете для этого неправильный метод.Вместо этого попробуйте:

- if @images.present?
0 голосов
/ 28 декабря 2011

Согласно вашему коду, @images - это, очевидно, WillPaginate::Collection из image, который действует как массив.

Поэтому, чтобы проверить, является ли @images не пустым , вы должны использовать if @images.present? или unless @images.empty?.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...