【发布时间】:2013-05-31 17:39:19
【问题描述】:
我只在变量确实存在时才尝试做某事(变量的名称是@filter),问题是我似乎无法弄清楚如何让代码工作。我不断得到
undefined method `male_filter' for nil:NilClass
即使第一个 if 应该可以解决问题。 这是javascript的实际代码:
$(document).ready(function(){
if(typeof <%=@filter%>!='undefined'){
if(typeof <%=@filter.male_filter%>!='undefined'){
if(<%=@filter.male_filter%>=='18'){
$('#18M').addClass('active');
}
else if(<%=@filter.male_filter%>=='21'){
$('#21M').addClass('active');
}
else if(<%=@filter.male_filter%>=='24'){
$('#24M').addClass('active');
}
}
}
}
我还尝试在名为 filterExists 的控制器中添加一个布尔值,并执行以下操作:
var filterExists=<%=@filterExists%>;
if(filterExists==true){...}
但我还是遇到了同样的错误:
undefined method `male_filter' for nil:NilClass
【问题讨论】:
-
查看你生成的页面源代码!我不认为你的服务器端代码像你想象的那样工作。查看服务器端代码不会有帮助。
标签: javascript jquery ruby-on-rails ruby null