0

我的控制器中有以下代码

@current_chat = current_user.sent_messages
                         .where("created_at > ? and receiver_id = ?", current_user.current_sign_in_at, current_chat[:receiver_id].to_i)
                         .select("body, created_at").each { |message| message.instance_eval { def type; @type end; @type = 'sent' } }

我将@current_chat 对象传递给一个部分,如下所示:

<%= render partial: 'shared/chat_form', locals: { messages: @current_chat } %>

但我收到以下错误:

singleton can't be dumped

在 ActiveSupport::MessageVerifier#generate 的第一行

def generate(value)
  data = ::Base64.strict_encode64(@serializer.dump(value))
  "#{data}--#{generate_digest(data)}"
end

有想法该怎么解决这个吗?。提前致谢。

4

1 回答 1

0

你不能用这个

@serializer.dump(value)

这导致了错误。阅读这个链接,它都是关于在 ruby​​ 中使用单例的。 关联

于 2014-05-19T13:19:00.390 回答