【问题标题】:Is it possible to user current_user with as_json?是否可以使用 as_json 来使用 current_user?
【发布时间】:2018-03-16 04:04:14
【问题描述】:

我有三个模型:用户、喜欢和帖子。我正在使用 as_json 并想查看用户是否喜欢某个帖子。在post.rb 中,当我执行self.likes 时,它显示了对该帖子的所有喜欢;但是,我只想显示当前用户的一个喜欢(如果存在)。 self.likes.user 似乎不起作用。有没有其他方法可以用 as_json 实现?

【问题讨论】:

  • 您确实应该展示一些代码(您的模型及其关联定义将是一个很好的起点)。否则,很难提供帮助。
  • 模型没有关于 current_user 的任何信息,因为当前用户是单个请求上下文中的概念,因此是控制器域。如果要在模型方法中使用当前用户,则必须将其从控制器传递给模型。你对你试图实现的目标有点模糊,而且没有看到你的实际代码(尤其是关联),这个问题很难回答。你能详细说明一下吗?

标签: ruby-on-rails ruby ruby-on-rails-4 ruby-on-rails-5


【解决方案1】:

您可以通过

实现此目的
post.likes.where(:user_id => current_user.id)

将结果限制为一个喜欢

post.likes.where(:user_id => current_user.id).limit(1)

注意:确保 current_user 对象在 MODEL 中访问时可用。如果它不可用,则将其作为方法参数传递。

【讨论】:

  • 谢谢,它成功了。我用过self.likes.where(:user_id => self.user)
猜你喜欢
  • 1970-01-01
  • 2017-08-18
  • 1970-01-01
  • 1970-01-01
  • 2021-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-02
相关资源
最近更新 更多