gpt4 book ai didi

ruby-on-rails - 如果条件为真,添加搜索参数

转载 作者:太空宇宙 更新时间:2023-11-03 17:09:34 24 4
gpt4 key购买 nike

我的 Controller 中有代码,我想为非授权用户过滤一些记录:

unless admin_signed_in?
@posts = Post.where(hidden: false)
else
@posts = Post.all
end

我试图重构它,但无法做出正确的查询

@posts = Post.where(hidden: if admin_signed_in? ? true : false )

输出:

.../app/controllers/posts_controller.rb:7: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' in_signed_in? ? true : false )

最佳答案

你有一个语法错误。你同时使用了 ifternary (? :)。只需将其更改为

@posts = Post.where(hidden: admin_signed_in?)

你不需要手动传递truefalse

注意:但是,如果 admin_signed_in? 返回 true

,它不会返回带有 hidden = false 的帖子

所以,你可能想把它改成

@posts = Post.where(({hidden: true} if admin_signed_in?))

关于ruby-on-rails - 如果条件为真,添加搜索参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43497500/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com