我有一个我想要重构的控制器。该控制器基本上呈现格式化的XML文档。
控制器主要做4件事。
我的问题是:
在Rails框架中2/3发生的正确位置在哪里?在我看来,他们不应该在控制器中。
我在使用Rails 2.3
干杯
答案 0 :(得分:1)
我不知道最佳实践是什么,但在我的情况下,我会在模型中的一个类方法中执行1,2和3。我创建了一个模型方法,它接受基本XML文件的名称。
所以我会做这样的事情......(CAVEAT:我不是100%确定这在语法上是正确的,我还是Rails的新手)
# app/models/mymodel.rb
class MyModel < ActiveRecord::Base
# ...
def self.formatXml(xml_base)
dataRecords = MyModel.find(:whatever) # step 1
# open the XML and read it into a string, this is step 2
# take the XML string, do the appropriate gsubs
return my_xml_string;
end
end
# app/controllers/mycontroller.rb
class MyController < ActionController::Base
# ...
def myAction
formattedXml = MyModel.formatXml(whateverXmlFileName)
render :text => formattedXml
end
end