Ruby on rails 当我';我正在尝试使用活动记录检索?

Ruby on rails 当我';我正在尝试使用活动记录检索?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有两种型号,例如用户和跟踪 跟踪型号有以下6列 身份证 用户id 目标用户id 访问 创建于 更新地址 型号/用户.rb has_many: trackings belongs_to :user belongs_to :user, :foreign_key => "target_user_id", :class_name => "User" 型号/跟踪.rb has_many: trackings belongs_to :user belongs_to :user, :f

我有两种型号,例如
用户
跟踪

跟踪
型号有以下6列

  • 身份证
  • 用户id
  • 目标用户id
  • 访问
  • 创建于
  • 更新地址
型号/用户.rb

has_many: trackings
belongs_to :user
belongs_to :user, :foreign_key => "target_user_id", :class_name => "User"
型号/跟踪.rb

has_many: trackings
belongs_to :user
belongs_to :user, :foreign_key => "target_user_id", :class_name => "User"
然后在
controllers/trackings\u controller.rb
中,我这样编码

控制器

@trackings = Tracking.find_by_target_user_id(current_user.id).page(params[:page]).per(10) 
但我没有得到任何错误:(为什么?
跟踪表中还没有记录。 我如何取回

如果我这样编码,就不会出现错误:(


如果要搜索当前用户的跟踪

@trackings = Tracking.where(:target_user_id => current_user.id ).page(params[:page]).per(10)

由于跟踪表中还没有记录,所以跟踪时得到的是零。按用户id(当前用户id)查找,然后执行零页(参数[:页])操作。因此,您得到的是零错误。@Deepika那么,为什么我在编码
@trackings=Tracking.page(参数[:页])时不得到零错误呢
相反?您可以看到错误的回溯,并使用gem很好地研究每个步骤。@thomasklem谢谢。我已经安装了it@MKK因为如果记录不存在,find_by_something会返回nil,并且跟踪.page(params[:page]).per(10)返回数组[]如果记录不存在。谢谢!!那么活动记录的点是什么,因为我不能使用
按某物查找
?看,结果中需要一个活动记录数组,按某物查找会给你一个活动记录。就是这样。啊,活动记录只在一对一关联的情况下工作?