铁路连接语法

时间:2017-12-11 23:52:30

标签: ruby-on-rails

我有join声明,我写的是这样的:

   SomeTable.joins(<<-SQL)
     INNER JOIN TableA as a
             ON a.id = SomeTable.id
     WHERE
           a.user_id = #{user_id}    
   SQL

有没有办法在#{user_id}参数化的地方写这个?或者我必须使用不同的语法?

我想通过执行类似.where(user_id: ?, user_id)

的操作来阻止SQL注入

1 个答案:

答案 0 :(得分:0)

怎么样:

 SomeTable.joins(:table_a).where("user_id = ?", user_id)

假设您的模型是:

 class User < ApplicationRecord
   has_many :table_as
 end

 class TableA < ApplicationRecord
   belongs_to :user
   has_many :some_tables
 end

 class SomeTable < ApplicationRecord
   belongs_to :table_a
 end