gpt4 book ai didi

ruby-on-rails - Rails 4中的参数化连接

转载 作者:行者123 更新时间:2023-12-03 22:19:23 25 4
gpt4 key购买 nike

我在做手工join我需要将参数传递给它的ON条款:

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

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

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

最佳答案

使用 sanitize_sql_array,这将是:

# Warning: sanitize_sql_array is a protected 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 foo model:
sanitized_sql = sanitize_sql_array(ar)
Foo.joins(sanitized_sql)

试过了,它奏效了。

关于ruby-on-rails - Rails 4中的参数化连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35639507/

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