Ruby on rails Rails XML解析——我应该将此功能放在控制器或模型中吗?
我有一个Rails应用程序,它充当XML服务API的传递 主要用例如下所示:Ruby on rails Rails XML解析——我应该将此功能放在控制器或模型中吗?,ruby-on-rails,xml,model,controller,nokogiri,Ruby On Rails,Xml,Model,Controller,Nokogiri,我有一个Rails应用程序,它充当XML服务API的传递 主要用例如下所示: 用户通过将参数发布到Rails。为了简洁起见,假设表单只提交了zip\u code=90010 Rails采用zip\u代码,并使用RestClient通过GET请求查询外部XML服务API: 报告响应通过XML返回。我想通过Nokogiri解析XML,并通过report.HTML.erb输出一个普通的HTML视图 我正在努力找出把我的XML(Nokogiri)代码放在哪里。我应该在模型中处理XML还是在控制器中进行所
zip\u code=90010
zip\u代码
,并使用RestClient通过GET请求查询外部XML服务API:doc=Nokogiri::XML(RestClient.get(myurl,myparams))
控制器中的类型代码
所以。。。模型还是控制器
谢谢 我将把代码放在一个类中,该类将获取xml并为您解析xml 这样就更容易对类进行单元测试,以便对返回的XML进行解析或任何其他操作 该类可以放在lib文件夹中,或者如果它有点像伪模型(带有XML数据库),也可以放在模型中。这主要取决于类是什么以及您希望如何构造代码库
更新:加上这种方法,即使您将服务换成其他服务,您的代码库也可以保持不变,因为您的代码库与此类交互,所以只需对此类进行更改。界面优势:)好的,谢谢。与传统的Rails模型相比,在/lib文件夹中使用类时,是否有任何性能方面的考虑因素。非常小的一点,因为使用了一个新的对象/类,大约100分之一秒。