我对Rails(对于coldfusion)很陌生,在我开始编码之前,我想确保我理解约定并正确应用它。
我关注的一个问题是使用Rails约定的以下情况:
但现在假设我创建了一个调用多个模型的方法,然后我应该在哪里放置该方法?
实施例: 我将以这个例子的facebook墙贴。对于我的每个帖子,可以添加许多评论。所以我可以创建一个方法名称postMessage所以在那个方法中我会调用模型“Post”和模型“Postcomment”所以我的问题是我应该把方法postMessage放在Controller“Posts”或“Postcomments”中吗?
答案 0 :(得分:0)
这实际上取决于方法的目的。如果是正在查看其Widgets集合的用户,您可以在Users控制器中创建“小部件”方法。
另一方面,如果要列出对Widget#32出价的所有用户,则可以向Widgets控制器添加“users”方法。
这些类型的事情没有明确的规则。虽然您通常希望Rails中的模型和控制器之间存在一对一的关联,但也有例外。您可能有一些没有自己的控制器的模型(例如Login,EmailAddress),以及一些没有关联模型的控制器(例如Home,Admin)。