有没有办法将params传递给rails中的postgres原始查询?

我有一个复杂的原始查询,我想传递params而不是插值

例如:

query = "SELECT id, abbr as code, name FROM states WHERE name IN ('#{params[:state].join("','")}')" ActiveRecord::Base.connection.execute(query) 

有没有办法像ActiveRecord一样传递params

 State.where(name: ['Alabama', 'Alaska']) 

试试find_by_sql

 Post.find_by_sql(["SELECT title FROM posts WHERE author = ? AND created > ?", author_id, start_date]) [#"The Cheap Man Buys Twice"}>, ...]