【问题标题】:Where in Rails App should I be creating a JSON object我应该在 Rails App 的哪个位置创建 JSON 对象
【发布时间】:2017-07-05 14:08:20
【问题描述】:
我有一个包含两个步骤的 Rails 应用程序:
1) 用户选择选项的表单
2) 用户根据 1 中的选项查看输出的结果表
现在,结果表是用数据表构建的。该表通过迭代从步骤 1 传入的选项填充到视图中,并为 tr's 和 td's 中的每一行调用模型。我怀疑有更好的方法来做到这一点。
我想将表格格式化以输出格式良好的 PDF,而我在网上看到的大多数示例都涉及传入的 JSON 数据。我应该让我的模型或控制器创建这个 JSON 对象吗?
谢谢
【问题讨论】:
标签:
ruby-on-rails
json
ruby
【解决方案1】:
如果要将结果输出到 PDF,则不需要传递 JSON 数据,可以使用 prawn pdf prawnpdf gem,并且可以使用语句中的相同方法“表格填充在视图中通过遍历传递的选项”,您只需要使用 respond_to 格式分割输出
@your_data_tables = YourOptionModel....
respond_to do |format|
format.html
format.pdf do
pdf = ReportPdf.new(@your_data_tables)
send_data pdf.render, filename: "your_data_table.pdf",type: "application/pdf", disposition: "inline"
end
end
这里是使用respond_to在html和pdf之间拆分输出的示例