在差数据库中如果返回的结果是1个的话: @username = Company.find(params[:q]) 这个@username就不是数组
在显示的页面中:for username in @username,就不会报错: undefined method `each’ for 。
我是这样处理的:
@username = Array.new
@username2 = Company.find(:conditions => ["id=?", params[:q]])
@username[0,0] = @username2
就是把@username2插入到 @username[0,0]这个空数组里面。如果@username2是数组的话结果还是数组。如果@username2不是数组的话,就插入变成一个数组。
这样@username就总是数组了。
find(:all)方法返回的就是一个数组,不管是一个还是两个,还是空,都是数组。所以就用:all 参数好了。
我是这么做的Messages.find_all_by_passport_id(session[:passport_id])
_all_by_ 就返回数组了~haha