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
- 访问
- 创建于
- 更新地址
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)返回数组[]如果记录不存在。谢谢!!那么活动记录的点是什么,因为我不能使用按某物查找
?看,结果中需要一个活动记录数组,按某物查找会给你一个活动记录。就是这样。啊,活动记录只在一对一关联的情况下工作?