使用Ruby on Rails设计Web站点

时间:2008-10-06 17:53:08

标签: ruby-on-rails

我刚学习Ruby on Rails。我读了几本书,我看了很多Railscasts,我看了一些例子。

然而,在使用Rails开展我的第一个认真项目时,我已经开始了解如何正确实现一些非常基本的网站功能,这些功能是我见过的大多数教程所缺乏的。

例如:导航菜单。关于如何制作静态教程的大量教程,但动态是什么?如果我想制作一个不同页面的导航栏,我该怎么做呢?

我认为学习这类事情的最好方法是看示例代码。 RoR中有没有好的开源网站?我可以查看任何示例代码吗?

我想我的问题确实会导致使用MVC。基本的想法是非常基本的,我理解这一点。但似乎大多数应用程序都将每个部分彼此完全分开......如果我想将两个模型的数据组合在一起显示在同一页面上怎么办?举一个我提出的例子,如果我有一个NavModel和一个PageModel,我的PageController可以访问这两个模型吗?我想我认为PageController只能访问PageModel,而不是其他任何一个。我见过的所有例子似乎都是这样运作的...这是一个错误的假设吗?

或者我完全忽视了这一点,那是'做错了吗?'

5 个答案:

答案 0 :(得分:5)

Open Source Rails是在rails中实现的网站的存储库。

答案 1 :(得分:3)

你读过哪些书?我认为从长远来看,对MVC和Rails的更好理解会比示例代码更有帮助,您可能会在不理解的情况下进行复制。

您所描述的问题与查找和显示任何类型的数据并没有什么不同,我确信您已经在博客上看到过片段等等(使用部分和/或布局可能是唯一的区别)。

如果您尚未阅读,请尝试Agile Web Development with RailsThe Rails Way

还有several books会引导您构建包含评论的示例应用程序,以确保您了解自己在做什么。

答案 2 :(得分:2)

答案 3 :(得分:1)

您的控制器可以访问您的任何模型,因此如果PageController需要访问您的NavModel,那很好。我认为通常Nav控制器或帮助器将包含准备导航视图所需的方法,但是如果不知道项目的细节我无法确定 - 如果您认为它是Page逻辑的一部分,那么就把它放在那里。

您可能也对这个“What goes where”问题感兴趣。

答案 4 :(得分:0)

这是关于突出显示您所在页面中当前菜单项的方法

http://snippets.dzone.com/posts/show/2016