Ruby on rails 如何显示谁访问了您的个人资料?

Ruby on rails 如何显示谁访问了您的个人资料?,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,因此,我有一个应用程序,其中的用户具有用户配置文件,我有一个访问者选项卡,我想显示访问过他们配置文件的用户 我如何才能做到这一点?我现在有一个用户模型,我猜我可能需要使用HMT?也就是说,一个用户通过用户访问者或其他东西拥有很多访问者。。您能澄清一下如何做到这一点吗?您可以创建一个名为Visit class Visit < ActiveRecord::Base belongs_to :user belongs_to :visitor, class_name:

因此,我有一个应用程序,其中的用户具有用户配置文件,我有一个访问者选项卡,我想显示访问过他们配置文件的用户


我如何才能做到这一点?我现在有一个用户模型,我猜我可能需要使用HMT?也就是说,一个用户通过用户访问者或其他东西拥有很多访问者。。您能澄清一下如何做到这一点吗?

您可以创建一个名为
Visit

    class Visit < ActiveRecord::Base
      belongs_to :user
      belongs_to :visitor, class_name: 'User', foreign_key: 'visitor_id'
    end
或者,如果您不想重复访问:

   def create_visit
     @user.visits.where(visitor: current_user).first_or_create
   end
还有瓦拉

现在,您可以使用如下内容:

    current_user.visitors
或在某些条件下:

    current_user.visitors.where('created_at > ?', 1.month.ago)
您还可以对您的关系设置条件:

    class User < ActiveRecord::Base
      ...
      has_many :recent_visitors, through: :visits, source: :visitor, conditions: [ "created_at > ?", 1.month.ago ]
      ...
    end
class用户?”,1个月前]
...
终止

希望有帮助

您可以创建一个名为
Visit

    class Visit < ActiveRecord::Base
      belongs_to :user
      belongs_to :visitor, class_name: 'User', foreign_key: 'visitor_id'
    end
或者,如果您不想重复访问:

   def create_visit
     @user.visits.where(visitor: current_user).first_or_create
   end
还有瓦拉

现在,您可以使用如下内容:

    current_user.visitors
或在某些条件下:

    current_user.visitors.where('created_at > ?', 1.month.ago)
您还可以对您的关系设置条件:

    class User < ActiveRecord::Base
      ...
      has_many :recent_visitors, through: :visits, source: :visitor, conditions: [ "created_at > ?", 1.month.ago ]
      ...
    end
class用户?”,1个月前]
...
终止
希望有帮助