Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 显示不同ID的计数’;在RubyonRails中,来自多个具有HMT关系的表的_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 显示不同ID的计数’;在RubyonRails中,来自多个具有HMT关系的表的

Ruby on rails 显示不同ID的计数’;在RubyonRails中,来自多个具有HMT关系的表的,ruby-on-rails,ruby,Ruby On Rails,Ruby,我试图显示用户通过Fixture对象(包括Stadium_id列)或Stadium对象访问过的所有不同体育场的计数 我有一个名为Visit的多态表,使用户可以将模型标记为已访问。这目前通过HMT关系用于固定装置和体育场模型 class Visit < ApplicationRecord belongs_to :user belongs_to :visited, polymorphic: true end
 class User < ApplicationRecor

我试图显示用户通过Fixture对象(包括Stadium_id列)或Stadium对象访问过的所有不同体育场的计数

我有一个名为Visit的多态表,使用户可以将模型标记为已访问。这目前通过HMT关系用于固定装置和体育场模型

class Visit < ApplicationRecord
  belongs_to :user
  belongs_to :visited, polymorphic: true
end
    


class User < ApplicationRecord
  has_many :visits
  has_many :visited_stadiums, through: :visits, source: :visited, source_type: 'Stadium'
  has_many :visited_fixtures, through: :visits, source: :visited, source_type: 'Fixture'
end
课堂参观
赛程表有一个体育场id

在我的用户控制器中,我想通过添加固定装置或通过访问表添加体育场本身,获得用户访问过的所有独特体育场的计数

目前,通过将体育场id传递给此助手方法,我可以获得用户访问过的所有不同的体育场。但是,我怎样才能获得用户通过固定装置访问过的所有独特的体育场呢

module UsersHelper
def get_unique_stadiums_count(object)
object.pluck(:stadium_id).uniq.count
end

class UsersController < ApplicationController
def show
   @visitedstadiums = current_user.visited_stadiums.distinct
   @visitedfixtures = current_user.visited_fixtures.distinct
end
end
moduleusershelper
def获取唯一体育场计数(对象)
object.pull(:stadium_id).uniq.count
结束
类UsersController
user/show.html.erb