Rails 4 中的参数化连接

2023-12-20

我正在做手动join我需要将一个参数传递给它ON clause:

Foo.joins("LEFT OUTER JOIN bars ON foos.id = bars.foo_id AND bars.baz = #{baz}")

有没有办法通过baz作为参数,以避免潜在的注入问题?有一个方法sanitize_sql_array,但我不确定在这种情况下如何使用它。

注意:我不能使用where因为它不一样。


使用 sanitize_sql_array,这将是:

# Warning: sanitize_sql_array is a protected class method, be aware of that to properly use it in your code
ar = ["LEFT OUTER JOIN bars ON foos.id = bars.foo_id AND bars.baz = %s", baz]

# Within a class method in foo model:
sanitized_sql = sanitize_sql_array(ar)
Foo.joins(sanitized_sql)

尝试了一下,成功了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 4 中的参数化连接 的相关文章

  • 如何在 Rails 中格式化日期时间?

    在我的 Rails 视图中 我有以下显示日期时间的代码 该行的结果如下 2013 02 02 01 00 00 UTC 我该如何更改它 使其显示为 2 2 13 X 00 PST 使用红宝石的strftime 关于日期 日期时间 看一下文档
  • Rails has_many 通过带有附加属性的表单

    我正在尝试创建一个表单 允许用户向活动添加 编辑 删除位置 我目前找到的所有例子要么是HABTM表单 不允许编辑存在于表单中的附加属性 has many through配置 或仅列出现有关系 下面的图片显示了我想要完成的任务 该列表将显示每
  • Ruby on Rails:如何检查复数形式和单一形式的名称

    我用命令创建了一个匿名模型 rails g model Anonymous section id integer aid string fake bool active bool 但迁移中的表名称为匿名 class CreateAnonym
  • Ruby on Rails:如何设计 SaaS 基础设施?

    我正在构建一个 Rails 3 应用程序 计划将其作为基于订阅的 SaaS 软件即服务 产品提供 基本上 我希望用户能够点击我的 注册 页面 创建一个新帐户 并立即开始使用该软件 我想要实现的一个很好的例子是 http www gethar
  • 无法安装 RMagick 0.0.0。找不到 Magick 配置

    我正在运行 debian 服务器并在一段时间后升级了所有软件包 apt get update apt get upgrade apt get distro upgrade 然后 rmagick 不再工作了 因为 imagemagick 被更
  • 按共同关联的数量排序 (Rails)

    背景 我有帖子和用户 并且都有很多社区 客观的 对于任何给定的用户 我想返回一个帖子集合 按该帖子与该用户有共同社区的数量排序 具有更多共同社区的帖子位于更高的位置 我当前的尝试 使用排序方法 有效 Post includes commun
  • 回形针:从带扩展名的 url 上传

    我想通过 S3 存储上的回形针从 URL 上传图片 我与 Ruby 1 9 3 Rails 3 2 6 paperclip 3 1 3 aws sdk 1 3 9 我有我的图片模型 class Asset has attached file
  • Ruby On Rails 与 Windows Vista - 最佳设置? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 您认为 Win Vista 环境中 RoR 的最佳设置是什么 我尝试过 radrails eclipse 插件 它对我来说似乎太庞大了 我也开始
  • 表单元素的自定义 HTML 错误包装器

    我想找到一种方法来自定义默认错误html div class field with errors div 参加我自己的课程 div class clearfix error div
  • 将 Rails 5.2 升级到 6.0 时出现参数错误数量错误

    我正在尝试将旧站点从 Rails5 2 升级到 6 0 然后再升级到 6 1 推荐的路径 我收到了有关参数数量错误的各种错误 其中一些错误我已通过更新或删除各种 gem 设法清除 最后我被困在了这一点上 rbenv versions 3 0
  • Rails 查询连接关联表与别名

    我有一个模型Edge属于另一个模型Node通过不同的外键两次 def Edge lt ActiveRecord Base belongs to first class name Node belongs to second class na
  • Rails 6 - 操作文本和 API

    我正在创建一个 Rails 6 0 0 应用程序 它具有以下模块 网络 表格 Cruds Api 我使用的地方有一个 CRUD动作文本 https edgeguides rubyonrails org action text overvie
  • 使用 PostgreSQL 的模式和 Rails 创建多租户应用程序

    我已经想通的事情 我正在学习如何在 Rails 中创建多租户应用程序 该应用程序根据用于查看应用程序的域或子域来提供来自不同模式的数据 我已经回答了一些问题 如何让 subdomain fu 也能与域一起使用 这是有人问了同样的问题 htt
  • Heroku 码头部署

    我正在关注这篇文章https devcenter heroku com articles container registry and runtime https devcenter heroku com articles containe
  • 从 Rails Helper 返回多个标签的最佳方法是什么?

    我想创建一个隐藏字段并在一个助手中创建一个链接 然后将两者输出到我的 erb 应该输出结果 link to something a path form hidden field something tableize value gt som
  • Rails 4 与 MailCatcher 和 Devise gems

    我有一个带有 gem Devise 的应用程序 我需要通过电子邮件确认注册 在配置 环境 rb我添加了这个 ActionMailer Base delivery method smtp ActionMailer Base smtp sett
  • 如何访问 has_many :through 关联对象的相关连接模型而不需要额外的查询?

    这是我现在已经遇到过很多次的事情 我很想弄清楚如何做我想要的事情 或者构建并向 Rails 提交一个补丁来实现它 很多时候 在我的应用程序中 我会有一些看起来像这样的模型 class User lt ActiveRecord Base ha
  • 如何访问“可以?”细胞内的方法?

    我在用着cancan and cells我的 ruby on rails 项目中的 gems 如何访问can 细胞内的方法 Thanks 我必须这样做 尝试 class MyCell lt Cell Rails include CanCan
  • Rails 3:用户创建自定义表单?

    我正在尝试思考如何允许用户创建具有所有字段类型的自定义表单 如果有一颗宝石那就太好了 但我似乎无法在任何地方找到它 所以我有一个像这样的数据库设置 t integer form id t string name t string hint
  • Rails 4 - 如何在开发中使用 sqlite3 以及在生产中使用 PostgreSQL 和 Heroku

    我正在尝试部署到 Heroku 但不能 因为默认的 sqlite3 服务器仍然存在 检测到 Heroku 不支持 sqlite3 gem https devcenter heroku com articles sqlite3 https d

随机推荐

  • 装配中的搬迁

    我有一个用汇编语言编写的裸机 ARM 的启动代码 我试图了解它是如何工作的 该二进制文件被写入一些外部闪存中 并在启动时将其自身的一部分复制到 RAM 中 尽管我读了这篇文章 但我仍然没有完全理解这种情况下的搬迁概念维基百科条目 http
  • 在 Docker 中对端点进行 REST 调用

    我正在构建一个 Spring Boot 应用程序 它有几个不同的 REST 端点 可以在本地成功打包并作为jar文件启动 在本地运行时 我可以通过 访问其端点http localhost 8080 endpoint params http
  • 可编辑的动态目标值

    我正在使用 jeditable 它的效果真的很棒 我只是有点难以弄清楚 了解如何动态更改目标 URL jeditable 绑定到我想要内联编辑的值表 所以我有 td class edit id 是两个值的混搭 我需要知道它才能在服务器端编辑
  • 来自 pandas 数据帧的边缘列表,具有不同颜色的节点

    我有以下数据框 Src Dst A A B B B A C C D D E F E E D F F F D E 我想生成一个网络Src是节点 Dst是边 其中有一个新列 Weight 可以为节点指定不同的颜色 绿色 A或 D 而其他都相同
  • 如何在 Nginx 反向代理后面设置 MongoDB

    我正在尝试将 Nginx 设置为访问 MongoDB 数据库的反向代理 默认情况下 Mongo 监听 27017 端口 我想要做的是通过 nginx 重定向主机名 例如 mongodb mysite com 并将其传递到 mongodb 服
  • 调用 BashOperator 时出错:Bash 命令失败

    这是我的 dag 文件和 BashOperator 任务 my dag dag id my dag start date datetime year 2017 month 3 day 28 schedule interval 01 my b
  • Java EE 环境中的单元测试

    我们正在将应用程序迁移到 Java EE 容器中 并寻找用于对迁移的应用程序进行单元测试 和集成测试 的工具 我们的要求包括 临时测试 能够按需手动运行测试 由开发人员在开发代码时使用 批量测试 定期运行大量 且不断增长的 测试的能力 容器
  • 如何通过 g++ 创建共享库

    关于创建和理解动态库中使用的技术的官方 如何 在哪里 我正在使用 g 编译器 我用谷歌搜索了这个问题 但找不到任何关于此的官方信息 例如 您可以轻松创建共享库 我有乘法示例程序 例如multiplyNum cpp The fpic选项告诉g
  • 在 Ubuntu 上查找 Node JS 实例

    我写了一个脚本没有放process exit 0 在我寻找 ctrl c 之后 process on SIGNIT gracefulShutdown 我想知道该进程是否仍在我的机器上运行 我使用了 ps aux grep node 它想出了
  • 如何禁用 AspectJ 转储文件“ajcore.txt”

    我有一个 Tomcat Web 应用程序 我在其中使用 AspectJ 进行日志记录和指标 一切看起来都很好 但它不断创建几个文件 例如ajcore 20150310 113255 780 txt在根文件夹中 这个文件也不例外 所以它们完全
  • 在 macOS Apple Silicon 上使用 Homebrew 的 Clang 编译的 C++ 代码在使用 OpenMP 的情况下运行速度明显慢于不使用 OpenMP 的情况

    我正在尝试在 Apple Silicon Apple M1 Max 上的 macOS Monterey 12 5 1 上编译支持 OpenMP 的 C 代码 以获得相应的加速 该代码计算量大 易于理解 多年来一直使用 OpenMP 例如在
  • Android TV:VerticalGridFragment 阴影尺寸和颜色

    我正在开发一个 Android TV 应用程序 但我对由VerticalGridFragment 我想要它更小 颜色更暗一些 我搜索了代码 但没有找到任何完整的工作解决方案 在我的VerticalGridPresenter子类 我可以重写的
  • 有没有办法将命令输出中的连续流发送到远程侦听器

    我正在使用unix 下的netcat 当我跑步时python script py gt logfile txt 它被连续捕获 为了远程复制这个 我尝试过nc l p 8011在侦听器 客户端 上以及发送者 主机或服务器 上 python s
  • 落球时 JavaScript 错误

    我编写了一段 JavaScript 代码 当单击画布时 可以多次将球落入其中 这是一个实验 这是代码 HTML br
  • 如何为一个事件设置多个监听器?

    我想为一个事件设置多个侦听器 并且发现使用复合侦听器是关键 谁能给我举个例子吗 class CompositeListener implements OnEventListener private List
  • 如何使用 p4merge 作为 Mercurial 的合并/比较工具?

    有谁知道如何设置水星 http www selenic com mercurial wiki index cgi Mercurial to use p4merge http www perforce com perforce product
  • 具有跨域请求的重复 Flex 会话

    当我在本地发出请求时 维护 FlexSession 完全没有问题 但是 当我从另一台计算机发出请求时 它会为每个请求创建重复的 FlexSession 我注意到每个请求的 JSESSIONID 都不同 这可能是导致会话被欺骗的原因 但我不知
  • ASP.NET:将值绑定到转发器内的自定义用户控件

    我有一个将数据绑定到转发器的 ASP NET 控件 在该中继器内 我有另一个自定义用户控件 我想根据当前绑定项将值传递给第二个控件
  • 错误 1045 (28000):用户“用户名”@“%”的访问被拒绝(使用密码:YES)

    我在 CentOS 6 4 服务器上安装了 MySQL 我登录到 root 并更改了密码 后来我想我应该创建一个新用户并将该用户用作我的默认用户 所以我创建了一个新用户名golden使用以下命令 CREATE USER golden IDE
  • Rails 4 中的参数化连接

    我正在做手动join我需要将一个参数传递给它ON clause Foo joins LEFT OUTER JOIN bars ON foos id bars foo id AND bars baz baz 有没有办法通过baz作为参数 以避