当我尝试使用Active Record检索时,为什么会出现nil错误?

时间:2013-08-07 07:18:55

标签: ruby-on-rails ruby-on-rails-3

我有2个模型,例如UserTracking

Tracking模型有以下6列

  • ID
  • USER_ID
  • target_user_id
  • accessed_at
  • created_at
  • 的updated_at

模型/ user.rb

has_many: trackings

模型/ tracking.rb

belongs_to :user
belongs_to :user, :foreign_key => "target_user_id", :class_name => "User"

然后在controllers/trackings_controller.rb中,我这样编码

控制器

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

但我得到零错误:(为什么会这样? 在追踪表中还没有记录。 我该如何检索?

如果我像这样编码,那就没有错误了:(

@trackings = Tracking.page(params[:page]).per(10) 

1 个答案:

答案 0 :(得分:1)

如果要搜索current_user的跟踪

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