В моем контроллере Item я хочу добавить временный (то есть непостоянный) атрибут к моему объекту модели, прежде чем отобразить его как JSON.
def show
@item = Item.find(params[:id])
@item.comment = "some comment"
render :json => @item
end
Мой класс Item выглядит так:
class Item < ActiveRecord::Base
attr_accessor :comment
@comment
конец
Моя проблема в том, что переменная экземпляра комментария не отображается в JSON. Все, что является постоянным, появляется в выводе JSON. Нужно ли переопределить метод to_json, чтобы это работало? Или есть более простой способ обеспечить отображение комментария в выводе JSON?
Спасибо за вашу помощь.
-------------- Обновление
Это решение, которое возникло из предположения Чубаса. Переопределение метода to_json для Item:
def to_json(options = {})
options[:methods] = :comment;
super(options)
end
Хотелось бы узнать, совпадает ли это с вашими мыслями, Чубас.