Вы не должны передавать произвольные имена параметров в конечную точку, например
GET /person/12345?name,email,foo,bar
, потому что тогда будет сложно узнать, какой параметр проверять.Вместо этого ожидайте что-то вроде
GET /person/12345?fields=name,email,foo,bar
(имя параметра "fields"
, значение параметра "name,email,foo,bar"
).
Затем в контроллере:
def show
fields = params[:fields].try { |value| value.split(',') }
@person = ...
@data = @person.attributes.slice(*fields)
end