2013-05-19 1 views
0

Я получаю:не определен метод ноля: NilClass в моем приложении Rails

undefined method `lat' for nil:NilClass 

ошибка, и я хочу, чтобы решить эту проблему. Чтобы быть точным, то сообщение:

NoMethodError in Static_pages#faq 

Showing /home/christophecompaq/Pop/app/views/layouts/_signed_in_header.html.erb where line #101 raised: 

undefined method `lat' for nil:NilClass 
Extracted source (around line #101): 

98: <div id="javascript_tags with lat and lang"> 
99: <%= javascript_tag do %> 
100: user_latitude = "<%=raw @user.lat %>"; 
101: user_longitude = "<%=raw @user.lng %>"; 
102: 
103: <% end %> 
104: </div> 

У меня есть 2 другие страницы в папке статических страниц, где я получаю эту ошибку - «Обратная связь» и «О нас».

Но когда я беру код ниже из своего _signed_in_header.html.erb и вставляю его в свой файл с именем show.html.erb, ошибки останавливаются.

<div id="javascript_tags with lat and lang"> 
    <%= javascript_tag do %> 
user_latitude = "<%=raw @user.lat %>"; 
user_longitude = "<%=raw @user.lng %>"; 

    <% end %> 
    </div> 

Но дело в том, мне нужно иметь этот код в _signed_in_header.html.erb.

Так я полагаю, мой вопрос: «Где я могу определить user_latitude =« <% = raw @ user.lat%> »и user_longitude =« <% = raw @ user.lng%> », поэтому мои страницы распознают они не дают мне ошибок? Я пробовал контроллер приложения, контроллер статических страниц, но у меня все еще возникают проблемы. Может быть, мне нужно что-то поместить в файл маршрутов, я не уверен? Спасибо за любую помощь.

+0

Можете ли вы включить код для метода 'faq' в' StaticPagesController'? – depa

+0

Извините, пришлось выйти. У меня нет ничего в моем методе faq, просто «def faq end». Тем не менее у меня нет никаких проблем ни с чем в методе faq и с кодом javascript_tag в моем вопросе в файле show.html.erb. – CHarris

+0

Как насчет 'ApplicationController'? Вы должны найти, где определяется '@ user'. – depa

ответ

0

Вы должны изучить метод контроллера, в котором вы определили переменную экземпляра @user - возможно, Static_pages#faq.

Что происходит, так это то, что @user равно nil, когда вы передали его на просмотр. Поэтому, когда вы пытаетесь отправить метод lat, который генерирует ошибку undefined method lat 'for nil: NilClass`.

Смежные вопросы