Ruby on rails 铁路公约

Ruby on rails 铁路公约,ruby-on-rails,coldfusion,Ruby On Rails,Coldfusion,我对Rails(用于coldfusion)真的是一个新手,在我开始编码之前,我想确保我理解这个约定并正确地应用它 我关注的一个问题是使用Rails约定时出现以下情况: 我创建了一个名为users的表 我创建了一个名为User.cfc的模型 我创建了一个名为Users.cfc的控制器 创建一个register页面,这样我将在controller Users.cfc中添加一个名为register的方法,因为它与模型用户特别相关 但是现在让我们假设我创建了一个调用多个模型的方法,那么我应该把这个方法放

我对Rails(用于coldfusion)真的是一个新手,在我开始编码之前,我想确保我理解这个约定并正确地应用它

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

  • 我创建了一个名为users的表
  • 我创建了一个名为User.cfc的模型
  • 我创建了一个名为Users.cfc的控制器
  • 创建一个register页面,这样我将在controller Users.cfc中添加一个名为register的方法,因为它与模型用户特别相关
  • 但是现在让我们假设我创建了一个调用多个模型的方法,那么我应该把这个方法放在哪里呢

    例如:
    我将以facebook的墙贴为例。对于我的每一篇文章,都可以添加许多评论。因此,我可以创建一个名为postMessage的方法,在该方法中,我将调用模型“Post”和模型“Postcomment”,因此我的问题是,我应该将方法postMessage放在控制器“Posts”或“Postcomments”中吗?

    这实际上取决于该方法的用途。如果用户正在查看他的小部件集合,您可以在用户控制器中创建一个“小部件”方法

    另一方面,如果您想列出所有在Widgets#32上出价的用户,那么您可以向Widgets控制器添加一个“用户”方法


    这类事情没有明确的规则。虽然您通常希望Rails中的模型和控制器之间存在1对1的关联,但也有例外。有些型号可能没有自己的控制器(如登录名、电子邮件地址),有些型号可能没有关联的控制器(如主页、管理员)。

    如果您考虑到具体情况,您可能会得到一些可以引导您走向正确方向的响应。因此,从我提供的示例来看,它应该出现在控制器帖子中?如果我们讨论的是Rails版本1,那么是的,这可能是一个很好的解决方案。但我假设您使用的是Rails 2或3,它有一些更好的解决方案。在这种情况下,您将有一个Posts控制器和一个“嵌套”注释控制器。阅读轨道嵌套路线。