13

Nếu tôi muốn chuyển từ bộ điều hợp thuộc tính mặc định sang bộ điều hợp api json, tôi sẽ làm điều này ở đâu?Thay đổi bộ nối tiếp mô hình hoạt động Bộ điều hợp mặc định

Các tiểu bang nhận được bắt đầu này:

Nói chung, bạn là một người sử dụng của AMS sẽ viết (hoặc tạo ra) các lớp serializer. Nếu bạn muốn sử dụng một bộ chuyển đổi khác nhau, chẳng hạn như một JsonApi, bạn có thể thay đổi điều này trong một initializer:

ActiveModel::Serializer.config.adapter = :json_api 

initializer gì được họ đề cập đến? Tôi có tạo một cái mới không? Xin lỗi cho câu hỏi noob

Trả lời

12

Nói chung, bộ khởi động được đặt trong thư mục app/config/initializers trong ứng dụng Rails.

Vì vậy, trong trường hợp của bạn, bạn có thể tạo một file mới có: ams.rb và đưa những nội dung trong tập tin đó:

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

Ngoài ra, xem github issue này.

Nếu bạn muốn sử dụng định dạng :json_api, bạn phải sử dụng chi nhánh 0.10.0 ngoài Github.

+0

Xin cảm ơn vì đã trả lời. Vì vậy, tôi đã thử rằng trước đó và tôi nhận được một phương pháp undefined 'config 'cho ActiveModel :: Serializer: Class ... Tôi có thiếu một bước từ chỉ cần tạo tập tin initializers? – Jshoe523

+0

bạn đang sử dụng phiên bản AMS nào? –

+0

Xem phần này: https://github.com/rails-api/active_model_serializers/issues/803 'Nếu bạn muốn sử dụng định dạng: json_api, bạn phải sử dụng nhánh 0.10.0 của Github' –

5

Đối với phiên bản mới hơn của AMS đặt này để config/initializers/ams.rb:

require 'active_model_serializers' 

ActiveModelSerializers.config.adapter = :json_api 
+0

Cảm ơn, nó phải ở trong các tài liệu. – jitowix

+0

uninitialized liên tục ActiveModelSerializers (NameError), tôi đã đặt yêu cầu 'active_model_serializers' ActiveModelSerializers.config.adapter =: json_api trong config/initializers/ams.rb, ném lỗi trên khi khởi động lại máy chủ rails – kamal

0

Tạo một file mới với tên bất kỳ bên app/config/initializers/ và thêm:

ActiveModelSerializers.config.adapter = :json_api 

Tất cả các tập tin theo cheá ñoä chaïy initalizers thư mục trong quá trình khởi phân biệt tên tệp.

Các vấn đề liên quan