我在我的控制器代碼,我想對非授權用戶過濾掉一些記錄:加入搜索參數,如果條件爲真
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)
嘗試沒有'if':'@posts = Post.where(隱藏:admin_signed_in真:??假)
但是,你可以用三元運算符代替它' –