Just FYI, this is a bad idea from a security perspective. You should make sure the result of params[:a] is the expected type (typecast/raise if not).
In general, it's best to handle your requirement by selecting only the columns you need:
@results = @results.select(:a, :b)
Then you don't need to use options to to_json.
This calls Array#to_json, not Sequel::Dataset#to_json. You should not expect Array#to_json to support the same options as Sequel::Dataset#to_json.
You could switch to:
@results.to_json(only: [:a, :b])
However, the approach using Sequel::Dataset#select ,as shown above, is better, unless you will be needing the columns for some other reason.