0

我开始研究第一个小型 Rails 项目,该项目实际上将从数据库中获取数据并在 jquery 数据表中可视化。根本不会有更新。问题是,我应该为这些数据创建模型并通过 activerecord 访问它还是可以通过控制器中的 SQL 命令直接访问它?

4

1 回答 1

2

您仍然应该制作模型以保持控制器清洁。

Rails 模式是所有数据访问都应该通过模型完成。您不一定必须有任何更新/插入逻辑,甚至不需要从 ActiveRecord 继承,但您的代码的读者会期望在这些地方找到数据访问权限。

此外,您需要将某种对象传递给您的视图,使用模型而不是丢弃的临时对象是最有意义的。这样您就可以干净地更改模型,并且只有一个地方可以更新。

例如,假设您稍后需要在full_name报表中添加一个属性。如果您在控制器中有直接的 SQL,并且您只是将查询结果传递给视图,那么您将更难连接first_namelast_name. 但是使用模型,您可以添加

def full_name
    "#{self.first_name} #{self.last_name}"
end

在一个地方,所有显示该报告的控制器操作现在都有一个full_name属性。

如果您打算进行测试,那么拥有一个模型类也会让这件事变得容易得多。您可以测试模型而无需让控制器参与其中。

于 2013-08-19T13:50:38.043 回答