1. Ruby / Говнокод #7104

    −104

    1. 1
    <%= !!@case[:img] ? image_tag(@case[:img]) : "" %>

    Запостил: pavel_so, 29 Июня 2011

    Комментарии (7) RSS

    • может объяснишь?
      Ответить
      • 1. Тернарный оператор нечитабелен. да и не нужен в данном случае.
        Рефакторим до <%= image_tag(@case[:img]) if !!@case[:img] %>
        2. Преобразование to bool тоже неочевидно и не нужно, семантически верно проверить на nil
        Получаем <%= image_tag(@case[:img]) if @case[:img].nil? %>
        Ответить
        • if .nil?
          Может .unless?
          А еще есть замечательный метод try()
          http://everydayrails.com/2011/04/28/rails-try-method.html
          Только не знаю как его сюда прикрутить.
          Ответить
    • Мне @case нравится.
      Как def send;def type;
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий