Лично я не большой поклонник наполнения представления шаблонной логикой.
Это, вероятно, было бы хорошим местом для использования вспомогательного метода.
В вашем файле house_helper.rb попробуйте создать метод current_tenant
, который выглядит примерно так:
def current_tenant(house)
if house.tenant
"#{house.tenant.first_name} #{house.tenant.last_name}"
else
"Vacant"
end
end
Кроме того, вы часто делаете что-то вроде отображения полного имени арендатора.Таким образом, может быть полезно добавить метод full_name
в модель арендатора, чтобы вы могли использовать его повторно.
class Tenant
...
def full_name
"#{first_name} #{last_name}"
end
...
end
Таким образом, вы можете очистить вспомогательный метод до чего-то простого:
def current_tenant(house)
return "Vacant" unless house.tenant
house.tenant.full_name
end
И ваш взгляд также будет очищен до:
.wrapper_with_padding
#house.show
%h1= @house.title
%p= number_to_currency(@house.price, :unit => "£")
%p= simple_format(@house.description)
Occupied: #{@house.occupied}
%br/
Tenant: #{current_tenant(@house)}