Rails惯例

时间:2010-11-08 21:07:45

标签: ruby-on-rails coldfusion

我对Rails(对于coldfusion)很陌生,在我开始编码之前,我想确保我理解约定并正确应用它。

我关注的一个问题是使用Rails约定的以下情况:

  1. 我创建了一个名为users
  2. 的表
  3. 我创建了一个名为User.cfc
  4. 的模型
  5. 我创建了一个名为Users.cfc
  6. 的控制器
  7. 创建一个注册页面,因此我将在控制器Users.cfc中添加一个名为register的方法,因为它与模型User特别相关。
  8. 但现在假设我创建了一个调用多个模型的方法,然后我应该在哪里放置该方法?

    实施例: 我将以这个例子的facebook墙贴。对于我的每个帖子,可以添加许多评论。所以我可以创建一个方法名称postMessage所以在那个方法中我会调用模型“Post”和模型“Postcomment”所以我的问题是我应该把方法postMessage放在Controller“Posts”或“Postcomments”中吗?

1 个答案:

答案 0 :(得分:0)

这实际上取决于方法的目的。如果是正在查看其Widgets集合的用户,您可以在Users控制器中创建“小部件”方法。

另一方面,如果要列出对Widget#32出价的所有用户,则可以向Widgets控制器添加“users”方法。

这些类型的事情没有明确的规则。虽然您通常希望Rails中的模型和控制器之间存在一对一的关联,但也有例外。您可能有一些没有自己的控制器的模型(例如Login,EmailAddress),以及一些没有关联模型的控制器(例如Home,Admin)。