Ruby on rails 在rails中解析从表单发送的ruby对象

Ruby on rails 在rails中解析从表单发送的ruby对象,ruby-on-rails,forms,object,Ruby On Rails,Forms,Object,我试图通过这样的形式传递一个对象: <%= simple_form_for :export, url: export_path(format: :xls,data: @result) do |f| %> ### fields <% end %> ###田地 但是我将对象作为字符串获取,因此我无法访问它。如何将传递的字符串转换为对象 我得到: “Mongoid::Criteria:0x0000105F75818”的未定义方法something:字符串 更新 我发

我试图通过这样的形式传递一个对象:

<%= simple_form_for :export, url: export_path(format: :xls,data: @result) do |f| %>
 ### fields
<% end %>  

###田地
但是我将对象作为字符串获取,因此我无法访问它。如何将传递的字符串转换为对象

我得到:

“Mongoid::Criteria:0x0000105F75818”的未定义方法
something
:字符串

更新


我发现这是通过表单传递对象的一种非常糟糕的方式。相反,我发送了与
@result
对象相关的所有
id
,并重新创建了
结果
对象服务器端。这解决了我的问题。

您几乎没有选择:

  • 不要通过表单发送@结果。将其放在服务器中(作为文件/数据库记录),并从表单中仅读取列列表
  • 在表单中仅使用@result的必需字符串部分
  • 如果需要整个对象,请序列化@result对象并传递表单。在服务器中反序列化。使用类似于

    • 您几乎没有选择:

      • 不要通过表单发送@结果。将其放在服务器中(作为文件/数据库记录),并从表单中仅读取列列表
      • 在表单中仅使用@result的必需字符串部分
      • 如果需要整个对象,请序列化@result对象并传递表单。在服务器中反序列化。使用类似于

      但我将对象作为字符串获取
      ??您指的是哪个对象
      @result
      ?如果这是真的,那么您在
      @result
      中存储了什么?它是一个模型实例吗?另外,在代码中共享相关操作以及表单提交时生成的服务器日志。这是对模型的查询。例如,
      @result=Model.where(…)
      @result=Model.all
      @KirtiThorat更新了问题。为什么要这样做?我想将
      @result
      对象的“内容”导出到excel,表单字段选择我需要导出的列。
      但我将对象作为字符串获取??您指的是哪个对象
      @result
      ?如果这是真的,那么您在
      @result
      中存储了什么?它是一个模型实例吗?另外,在代码中共享相关操作以及表单提交时生成的服务器日志。这是对模型的查询。例如,
      @result=Model.where(…)
      @result=Model.all
      @KirtiThorat更新了问题。为什么要这样做?我想将
      @result
      对象的“内容”导出到excel,表单字段选择我需要导出的列。@KirtiThorat谢谢:)@emaillenin第3点工作得很好。谢谢我用了ruby的@KirtiThorat谢谢:)@emaillenin第三点非常好用。谢谢我用了鲁比的