【问题标题】:Where should I put SQL queries in Rails?我应该将 SQL 查询放在 Rails 的什么位置?
【发布时间】:2009-04-30 21:05:56
【问题描述】:

我应该在 Rails 中的何处放置 SQL 查询的最佳做法是什么?

  • 我是否应该在模型中创建方法,例如:find_all_public_items 我在所有条件下使用 find 方法,然后在控制器中使用它们。就像我将所有查询放在一个地方一样,但我错过了每个查询都应该完全适合需求的灵活性。

  • 我是否应该只在控制器中使用 find/find_by_sql - 像这样我没有创建数千个方法,但我正在失去对控制器如何从数据库中提取数据的控制。

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    将与模型相关的所有内容都放入模型中。期间。

    【讨论】:

      【解决方案2】:

      您应该将它们放入您的模型中。您可能也想调查named scopes

      【讨论】:

      • 那个命名的作用域机制看起来很酷:生成查询的简短而甜蜜的宏式东西,只给出了“where”子句的提示,以满足当天的需要。谢谢。
      • 另外,我喜欢你指出一些让事情变得更容易的事实,而不是简单地说“你应该”(暗示:即使它很痛,等等)
      • 命名范围特别好,因为您可以将它们链接在一起。
      猜你喜欢
      • 2010-10-11
      • 2017-07-04
      • 2012-11-12
      • 1970-01-01
      • 1970-01-01
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      相关资源
      最近更新 更多