一部の Mongoid モデルの JSON 表現に表示される仮想 (永続化されていない) 属性を取得しようとしていますが、それを機能させることができないようです:
class MyModel
include Mongoid::Document
def virtual_attribute
@my_attribute || false
end
def virtual_attribute=(value)
@my_attribute=value
end
end
class MyController
def myaction
false_values=MyModel.where( whatever )
true_values=MyModel.where( something_else ).map{ |model| model.virtual_attribute=true }
@val['my_models']=false_values+true_values
render json: @val.to_json( :include => {:my_models => {:methods => %w(virtual_attribute)}} )
end
end
virtual_attribute
json には表示されません。私は何を間違っていますか?
編集- わかりました。私の実際の問題はvirtual_attribute
、ルート オブジェクトにネストされたオブジェクトの配列のそれぞれでメソッドを呼び出す方法がわからないことだと思います。