- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以,我有一个应用程序,其中包含拥有用户个人资料的用户,并且我有一个访问者选项卡,我想向访问过他们的个人资料的用户显示。
我怎样才能做到这一点?我现在有一个用户模型,我猜我可能需要使用 HMT? IE。一个用户通过 user_visitors 之类的方式有_many 访问者..你能解释一下如何做到这一点吗?
最佳答案
你可以创建一个连接模型,命名为Visit
class Visit < ActiveRecord::Base
belongs_to :user
belongs_to :visitor, class_name: 'User', foreign_key: 'visitor_id'
end
和用户模型:
class User < ActiveRecord::Base
has_many :visits
has_many :visitors, through: :visits
end
要创建访问,请将您的 Controller users_controller 放在 before_action 中:
def create_visit
@user.visits.create(visitor: current_user)
end
或者,如果您不想重复访问:
def create_visit
@user.visits.where(visitor: current_user).first_or_create
end
还有 vualá!
现在你可以这样使用了:
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
希望对您有所帮助!
关于ruby-on-rails - 如何显示谁访问了您的个人资料?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21317985/
我正在使用passport.js 为我的node.js 应用程序提供OAuth 身份验证。但我确实有一个疑问: 当我在身份验证时收到配置文件对象(当您定义 OAuth 策略时)时,该对象对于所有提供商
我正在尝试对 wordpress 布局进行解码/逆向工程。我正在浏览 CSS 文件,无法弄清楚这个长长的菜单 mumbo-jumbo 是什么! 我不是要任何人检查代码,而是让我知道我在看什么。这些似乎
所以我尝试制作一个包含私有(private)配置文件的 symfony 项目,并且我使用 FriendsOfSymfony,但是如果我创建两个用户,每个人都可以看到其他人上传的文件。我尝试在多个网站上
我正在编写一个需要使用已登录 G+ 用户的公开个人资料图片的 JS 应用。 如果我有用户 ID,我可以使用 Google+ API 查询个人资料数据。 https://developers.googl
我看过很多关于 facebook 身份验证的帖子,要么是旧的,要么不能正常工作。 然而,最终我在我的项目中做了一些可行但不完全的东西。这是我要求的代码 var facebookAuth
我是一名优秀的程序员,十分优秀!