实际上,这是一个愚蠢的问题,但我很困惑。
我有一个思考sphinx运行的Web应用程序,这些是我的模型
模型/学院
class College < ActiveRecord::Base
belongs_to :city
模型/城市
class City < ActiveRecord::Base
has_many :colleges
belongs_to :state
模型/状态
class State < ActiveRecord::Base
has_many :state
这是我的指数
ThinkingSphinx::Index.define 'college', :with => :active_record do
indexes name
end
问题是当我尝试将搜索结果呈现到视图中时
控制器
@colleges = College.filter_by_params(params).search params[:keyword]
在视图中我想打印学院的城市和州名称
<% @colleges.each do |college| %>
<tr>
<td>College Name <%= college.name %><td>
<td>City <%= college.city.name %><td>
<td>State <%= college.city.state.name %><td>
</tr>
然后我得到一个错误的未定义方法`city'为nil:NilClass
我也试着检查
college.city.inspect
结果是对的!!我想念一下吗?
答案 0 :(得分:0)
仅在p college
循环内插入@colleges.each
。我相信在一次迭代中你会获得nil
个对象。这导致错误。