我有一个 Rails 应用程序,它充当 XML 服务 API 的传递。
主要用例如下:
- 用户通过http://example.com/model/report向 Rails 发布参数。为简洁起见,假设表单只是提交
zip_code=90010
。 - Rails
zip_code
通过 GET 请求获取并使用 RestClient 查询外部 XML 服务 API:http://xmlservice.example.com/report?report_id=1&zip_code= 90010 - 报告响应通过 XML 返回。我想通过 Nokogiri 解析 XML 并通过 report.html.erb 输出一个普通的 HTML 视图。
我正在努力弄清楚将我的 XML (Nokogiri) 代码放在哪里。我应该在我的模型中处理 XML 还是在控制器中进行所有解析?
我知道这两种方法都行得通,但我想知道最佳做法是什么。这也不是后台 XML 提要抓取,因此它不适合作为每晚运行的延迟作业。它必须 24/7 全天候响应动态请求。
请记住,我已经从我的应用程序中删除了 ActiveRecord 以进行优化。这个应用程序不涉及任何数据库。它基本上是对将为客户端呈现 HTML 输出的 XML API 的传递。
我读过最好使用“瘦控制器”和“胖模型”,但我看到的大多数 Nokogiri 示例doc = Nokogiri::XML(RestClient.get(myurl, myparams))
在控制器内部都有类型代码。
那么...模型还是控制器?
谢谢!