我通过params[:invitations][:friend]
发送对象朋友。在我的参数中看起来像:#< User:0x6925800>
。我可以将此字符串转换为控制器中的对象吗?
为什么我通过params发送对象?因为我从javascript函数中获取它,当我点击下拉菜单中的字段时触发该函数。如果我尝试只发送一个Id(friend.id)
我的对象rails会给我一个错误堆栈太深。
我google了一下,但没有发现如何将字符串转换为对象,所以任何答案都会非常感激。
所以我的问题仍然是如何将我的(对象的)字符串转换为控制器中的实际对象?
答案 0 :(得分:2)
你要问的是serialization。
你可以使用它,但你不应该使用它。序列化可能适用于缓存目的,但在大多数情况下,如果您需要它 - 您做错了什么。只需将id传递给脚本并再次检索数据。
你得到的#< User:0x6925800>
不是序列化对象,它只包含类名和内存地址,所以它不能被反序列化。
答案 1 :(得分:2)
您无法将其转换为真实的用户实例。原因是这是User的特定实例,并且不会在请求之间保持不变。我会回去尝试使用用户ID。