13

如果我想從默認切換屬性適配器JSON API使用適配器,在那裏我會做到這一點?更改活動模型串行器默認適配器

入門狀態的:

一般來說,你作爲AMS的用戶會寫(或產生),這些序列化類。如果你想使用一個不同的適配器,如JsonApi,你可以在初始化更改此:

ActiveModel::Serializer.config.adapter = :json_api 

被他們指的是什麼初始化?我是否創建一個新的?很抱歉的noob問題

回答

12

一般來說,initilizers在一個Rails應用程序把app/config/initializers目錄下。

所以,你的情況,你可以在那裏創建一個新的文件:ams.rb,並把這些內容在該文件中:

# app/config/initializers/ams.rb  
ActiveModel::Serializer.config.adapter = :json_api 

而且,看到這個github issue

如果你想使用的:json_api格式,你必須使用0.10.0岔開Github上的。

+0

嘿感謝您的答覆。所以我早些時候嘗試過,並且我爲ActiveModel :: Serializer:Class得到了一個未定義的方法'config'...我是否缺少創建初始化文件的步驟? – Jshoe523

+0

您正在使用哪種AMS版本? –

+0

看到這個:https://github.com/rails-api/active_model_serializers/issues/803 '如果你想使用的:json_api格式,你必須使用0.10.0岔開Github' –

5

對於AMS的新版本把這個config/initializers/ams.rb

require 'active_model_serializers' 

ActiveModelSerializers.config.adapter = :json_api 
+0

感謝拋出上述錯誤,就應該在文檔。 – jitowix

+0

未初始化常數ActiveModelSerializers(NameError),我已經把需要「active_model_serializers」 ActiveModelSerializers.config.adapter =:json_api在配置/初始化/ ams.rb,上述錯誤引發重新啓動軌道服務器時 – kamal

0

創建任何名稱的新文件中app/config/initializers/並添加:

ActiveModelSerializers.config.adapter = :json_api 

所有文件下initalizers目錄下運行初始化過程中,不論的文件名稱。