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.没有错.
绝对不要定义返回单个对象的范围.范围应该是可链接的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |