Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我们怎样才能更换新的?从rails sql查询_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 我们怎样才能更换新的?从rails sql查询

Ruby on rails 我们怎样才能更换新的?从rails sql查询,ruby-on-rails,ruby,Ruby On Rails,Ruby,我怎样才能替换?使用:email,这样我就不需要在query中两次传递current_user.email 但是,where的参数必须包含一个散列,其中必须存在电子邮件密钥 您可以使用一个数组作为参数(当然,您可以省略括号)来检查 或者,可以在模板中使用命名占位符,然后 将哈希作为数组的第二个元素传递。名单上的名字 模板将替换为哈希中的相应值 看一看的文档–甚至有一个例子是email=?和email=:email这能回答你的问题吗? scope :accessible_by, -> (cu

我怎样才能替换?使用:email,这样我就不需要在query中两次传递current_user.email

但是,
where
的参数必须包含一个散列,其中必须存在电子邮件密钥

您可以使用一个数组作为参数(当然,您可以省略括号)来检查

或者,可以在模板中使用命名占位符,然后 将哈希作为数组的第二个元素传递。名单上的名字 模板将替换为哈希中的相应值


看一看的文档–甚至有一个例子是
email=?
email=:email
这能回答你的问题吗?
scope :accessible_by, -> (current_user) { where("loc_primary_email= ? OR loc_backup_email= ? ",current_user.email, current_user.email) }
scope :accessible_by, -> (current_user) { where("loc_primary_email = :email OR loc_backup_email = :email ", email: current_user.email) }
User.where(["name = :name and email = :email", { name: "Joe", email: "joe@example.com" }])
# SELECT * FROM users WHERE name = 'Joe' AND email = 'joe@example.com';