that's because :select expects a string, not an array. the array is
getting converted to a string and that is the result
irb(main):001:0> [:tracker, :job_id].to_s
=> "trackerjob_id"
so you want
:select => "tracker, job_id"
also, your condition is a bit strange.
is job_id an integer column? why are you using = and %? you want
every record where job_id begins with 3?
if you are passing in [:x, :y] and getting back "xy" then that means
the array is being converted to a string. pass it a string.
from the api
:select: By default, this is * as in SELECT * FROM, but can be changed
if you for example want to do a join, but not include the joined
columns.
from the source
def construct_finder_sql(options)
scope = scope(:find)
sql = "SELECT #{(scope && scope[:select]) ||
options[:select] || '*'} "
so as you can see, options[:select] in the above
"#{[:a, :b]}" => "ab"