我正在尝试实现我自己的身份验证系统,登录的用户应该在其中看到他们来自的状态的记录:
if current_user.role.name == "state_admin" && current_user.state.name == "Texas"
@b = Staff.where(state_id: 3)
德克萨斯州的state_id为3。
然而,我想创建一个特殊的豁免,德克萨斯州的管理人员也可以查看佛罗里达州的记录。我已经写了以下代码来尝试实现这一点:
@staffs= Staff.where(state_id: 3).or(Staff.where(state_id: 4))
当我转到索引页面时,只显示德克萨斯州的记录。我想列出德克萨斯州AND
佛罗里达州(state_id 4(的记录。
我哪里错了?我已经用了几个小时了,但我似乎无法让它发挥作用(尽管我是一个初学者(。
正如Florent Ferry在评论中所说,您可以这样写:
@staffs = Staff.where(state_id: [3, 4])
还可能值得一读Active Record:https://guides.rubyonrails.org/active_record_basics.html