我使用websocket-rails
gem作为web-socket,我想使用ActiveModel :: Serializers为web-socket消息创建JSON有效负载。
是否可以在控制器中不使用render
来使用串行器?
答案 0 :(得分:12)
在查看源代码后,我找到了我正在寻找的答案。
您可以通过显式实例化序列化程序来使用AMS:ConversationSerializer.new(Conversation.last).as_json
收集:
ActiveModel::ArraySerializer.new(Conversation.all, serializer: ConversationSerializer).as_json
答案 1 :(得分:1)
假设您有一个Product
模型和一个p
记录:
# p = Product.first
ProductSerializer.new(p).to_json
另外,请注意您可能需要加载所需的文件:
require "action_controller"
require "action_controller/serialization"
require "#{Rails.root}/app/serializers/product_serializer.rb"