加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 首先或限制Rails范围

发布时间:2020-12-17 03:39:01 所属栏目:百科 来源:网络整理
导读:我有以下范围: scope :user_reviews,lambda { |user| where(:user_id = user) } 我在控制器中应用它: def show @review = @reviewable.reviews.user_reviews(current_user).first || Review.newend 第一种是限制搜索当前用户的唯一评论.现在我尝试编写一个
我有以下范围:

scope :user_reviews,lambda { |user| where(:user_id => user) }

我在控制器中应用它:

def show
  @review = @reviewable.reviews.user_reviews(current_user).first || Review.new
end

第一种是限制搜索当前用户的唯一评论.现在我尝试编写一个新的范围user_review,我尝试了很多方法来首先链接user_reviews范围,但是却无法得到它.像这样的东西:

scope :user_reviews,lambda { |user| where(:user_id => user) }
scope :user_review,lambda { |user| user_reviews(user).first }

我知道上面的user_review是错误的,但只是想告诉你们我想做什么.

我应该如何正确地写这个?

谢谢.

解决方法

@Victor,坚持你原来的想法.使用范围:user_reviews,lambda {| user | where(:user_id => user)}并调用user_reviews.first.没有错.

绝对不要定义返回单个对象的范围.范围应该是可链接的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读