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第三点非常好用。谢谢我用了鲁比的