active_model_serializersをバージョン0.9.5から0.10.1に更新しています。バージョン0.9.5では以下のコードが機能しました。ActiveModelSerializers gem:パラメータをシリアライザに渡す方法
コントローラー:
def create
...
render json: @dia, app_rights: app_rights(@dia)
end
シリアライザ:
class Api::V1::SerializerWithSessionMetadata < ActiveModel::Serializer
attributes :app_rights
def app_rights
serialization_options[:app_rights]
end
end
バージョン0.10.1に廃止されたserialization_options
方法。
- Here代わりに
instance_options
を使用することをお勧めします。 - Here
options
を使用することをお勧めします。「instance_optionsは、現在のRCではなく、マスターブランチでのみ使用できます。現在のRCでは、代わりにオプションを使用する必要があります。 - また、
@options
と@instance_options
の提案もあります。
私は上記のすべてのオプションをserialization_options
に置き換えようとしました。ただし、すべての場合において、gemを更新した後、生成されたjsonにはapp_rights
は含まれません。私は間違って何をしていますか? instance_optionsを使用して
どのようなレールとルビーバージョンを使用していますか? Rails 4.0とruby 2.0のchangelogサポートによると – niceman
最新バージョンの使用:ruby 2.3.1とrails 4.2.6 – Marty
hmmm彼らは0.10.xが0.9や0.8と後方互換性がないと言って興味深い「不足している移行ガイド」のバグ? – niceman