【问题标题】:rails - :joins sanitizing/substitutionrails - :joins 清理/替换
【发布时间】:2010-12-04 05:23:50
【问题描述】:

是否可以为 :joins 指定与 :conditions 类似的参数?

这里是一个例子(sql代码无关)

named_scope :threads, {
  :joins => [" LEFT JOIN groups_messages gm ON messages.id=gm.message_id AND gm.group_id IN (?) ",@group_ids_array], 
  :conditions => ["creator_id=? AND messages.id IN (?)", current_user_id, @message_ids_array]
}

在此示例中,用于 :conditions 的参数将正确插入,但对于 :joins 我会收到错误

 Association named '  LEFT JOIN groups_messages gm ON messages.id=gm.message_id and gm.group_id IN (?) ' was not found; perhaps you misspelled it?

什么函数用参数代替 :conditions?

【问题讨论】:

    标签: ruby-on-rails join substitution


    【解决方案1】:

    您可以使用ActiveRecord::sanitize_sql_array 方法。

    ActiveRecord::sanitize_sql_array ['gm.group_id IN (?)', @group_ids_array]
    

    【讨论】:

      猜你喜欢
      • 2010-11-15
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多