продолжает давать мне горе, когда профиль является нолем..., что я могу сделать?
Это тоже должно сработать
<%= image_tag(this.profile.expiring_url(180)) rescue "no image!" %>
Всегда проверяйте, равна ли переменная nil
, прежде чем использовать ее в представлении.
<% image_tag this.profile.expiring_url(180) unless this.profile.nil? %>
Я уверен, что есть более элегантное решение проблемы, но оно должно помочь вам начать работу.
Сначала вам нужно решить, что вы хотите делать при отсутствии профиля. Вы хотите отображать изображение по умолчанию? Нет изображения вообще?
Предполагая, что вы хотите отобразить изображение по умолчанию, вы можете добавить метод к своему помощнику:
def expiration_url_for( profile )
(profile && profile.expiring_url(180)) || default_url
end
, а затем вызвать этот вспомогательный метод в своем представлении:
<%=image_tag expiration_url_for( this.profile )%>