2015-03-25 3 views
1

У меня есть модели user и seeker_info в моем приложении rails 4, и связь между этими двумя моделями - это один к одному, который является пользователем has_one seeker_info.user, чтобы заполнить его seeker_info после регистрации. поле изображения в моей модели seeker_info, и я показываю изображение пользователя на части заголовка моей страницы перед именем пользователя. но после регистрации я становлюсь ниже ошибки. проблема в том, что после регистрации, модель seeker_info пуста, потому что только после успешной регистрации пользователь может заполнить свои данные seeker_info.NoMethodError rails 4

undefined method `image' for nil : Nil Class 

это мой код

<%= image_tag current_user.seeker_info.image_url.to_s, :class=>"img-profile" if current_user.seeker_info.image? %> 
+0

'если current_user.seeker_info && current_user.seeker_info.image' – Santhosh

+0

эй, спасибо Santosh..it работал:) –

+0

Обычно Предпочтительно использовать декоратор здесь. Вы должны создать «UserDecorator» и получить «image_url» оттуда. Это позволит вам отделить внимание от вашего домена. – bsvin33t

ответ

0
undefined method `image' for nil : Nil Class 

Эта ошибка означает, что вы вызываете метод image на nil объекта.

Измените условия, чтобы проверить, имеются ли как seeker_info, так и seeker_info.image. ?

if current_user.seeker_info && current_user.seeker_info.image? 
Смежные вопросы