Сделайте это:
class Computer < ActiveRecord::Base
has_many :ip_addresses
has_one :status
def first_ip
first_ip_address = ip_addresses.first
first_ip_address ? first_ip_address.ip : nil
end
end
Используя ваш метод, если Computer
не имеет ip_addresses
, то вызов .first
вернет nil
, и для NilClass
не существует метода ip
(как говорится в ошибке). Таким образом, он проверяет, есть ли какие-либо ip_addresses
, и если да, возвращает ip
первого ip_address
, а если нет, возвращает nil.