У меня есть объект в Rails, который имеет атрибуты A, B, C, D и E. При передаче этого объекта на клиентскую сторону через объект JSON, как я могу сказать контроллеру рельсов включать только атрибуты A и D в объекте JSON?
В моем контроллере Users мой код выглядит следующим образом:
@user = User.find(params[:id])
respond_to do |format|
format.html
format.json { render :json => @user}
end
Этот код работает, однако возвращенный объект JSON содержит все атрибуты объекта @user. Как ограничить атрибуты, включенные в объект JSON, прежде чем что-либо будет отправлено обратно клиенту?
UPDATE: lucapette дает хороший фон о том, что происходит за кулисами. Поскольку бывают случаи, когда я, вероятно, хочу вернуть все атрибуты, я закончил использовать следующий код:
format.json { render :json => @user.to_json(:only => ["id"])}