Rails模型/控制器结构

时间:2012-03-13 00:23:22

标签: ruby-on-rails model controller structure scaffold

我最近刚刚开始使用ruby on rails进行编程,而且我一直无法理解我应该如何构建和组织我的所有代码,特别是如何区分某些支架/模型/控制器应该是什么做。

例如,我有一个应用程序,其中我想要一个只包含介绍页面的首页,为查看者提供登录或注册选项(标准欢迎屏幕)。我已经生成了一个用户脚手架,我计划使用它来处理用户在其个人资料方面看到的所有主要页面。我也一直在使用设计来处理登录和注册。

但是,我不确定如何处理这个欢迎页面。截至目前,我只是更改了用户脚手架自动生成的index.html.erb,但它似乎并不合适,因为它实际上并不是一个与用户配置文件有关的页面。

是否有关于如何分离控制器功能的一般惯例?对于不一定与特定数据库方面有关的页面(例如,联系页面,欢迎屏幕等),我应该怎么做。

另外,我对于默认的application_controller.rb的用途有点困惑。看起来一切都在扩展它,但是我应该改变它(可能用于我上面提到的通用页面)?

提前致谢,对非常长的帖子感到抱歉!

2 个答案:

答案 0 :(得分:0)

如果您想要通用主页,只需按照您喜欢的名称生成控制器即可。我最近有两个名为play和lycee。

你是对的,ApplicationController主要是要扩展。有时你会在那里放一些网站范围的代码,但它会很小。

答案 1 :(得分:0)

您的索引或主页可能是附加了视图的单个控制器。您可以通过键入以下内容生成控制器:

rails generator controller Home main

请注意,您可以将其缩短为

rails g controller Home main

之后,如果你编辑routes.rb文件,你可以将这个控制器和动作附加到root指令:

root :to => 'home#main'

ApplicationController是您所有其他控制器将扩展的内容。如果您想在控制器之间共享代码,那么您应该将该代码放在ApplicationController