0

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

例如,我有一个应用程序,我想在其中创建一个只有介绍页面的首页,让查看者可以选择登录或注册(标准欢迎屏幕)。我已经生成了一个用户脚手架,并且我计划使用它来处理用户根据他们的个人资料看到的所有主要页面。我也一直在使用设计来处理登录和注册。

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

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

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

提前致谢,很抱歉这篇文章太长了!

4

2 回答 2

0

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

没错,ApplicationController 主要是要扩展的。有时您会在其中放置一些站点范围的代码,但它会很小。

于 2012-03-13T00:28:32.647 回答
0

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

rails generator controller Home main

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

rails g controller Home main

之后,如果您编辑您的 routes.rb 文件,您可以将此控制器和操作附加到根指令:

root :to => 'home#main'

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

于 2012-03-13T00:47:34.563 回答