Ruby on rails 3 MyRails应用程序中nil:NilClass的未定义方法

Ruby on rails 3 MyRails应用程序中nil:NilClass的未定义方法,ruby-on-rails-3,Ruby On Rails 3,我得到一个: 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 Ext

我得到一个:

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>
静态页面中的命名错误常见问题解答 显示/home/christophencompq/Pop/app/views/layouts/_signed_in_header.html.erb,其中第101行出现: nil:NilClass的未定义方法“lat” 提取的源(在第101行附近): 98: 99: 100:用户_纬度=”; 101:用户_经度=”; 102: 103: 104: 我在静态页面文件夹中还有另外两个页面,在那里我也会遇到这个错误-“联系我们”和“关于我们”

但是当我将下面的代码从\u header.html.erb中的\u签名\u中取出并粘贴到名为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>

用户_纬度=”;
用户_经度=”;
但问题是,我需要在_header.html.erb中的_signed_中包含该代码


因此,我想我的问题是,‘我在哪里可以定义user_lation=“”和user_longitude=“”,这样我的页面就可以识别它们而不会给我错误?’我尝试了应用程序控制器,静态页面控制器,但我仍然遇到问题。也许我得在路由文件里放点什么,我不确定?感谢您的帮助。

您必须查看控制器方法,在该方法中定义了
@user
实例变量——可能是
静态页面#faq


当您将它传递给视图时,
@user
等于
nil
。因此,当您尝试将
lat
方法发送给它时,它会为nil:NilClass`错误生成
undefined方法
lat.

您能否将
faq
方法的代码包含在
StaticPagesController
中?抱歉,我不得不退出。我的faq方法中没有任何内容,只是“def faq end”。然而,对于faq方法中的内容以及show.html.erb文件中我的问题中的javascript_标记代码,我没有任何问题?您必须找到定义
@user
的位置。