我刚学习Ruby on Rails。我读了几本书,我看了很多Railscasts,我看了一些例子。
然而,在使用Rails开展我的第一个认真项目时,我已经开始了解如何正确实现一些非常基本的网站功能,这些功能是我见过的大多数教程所缺乏的。
例如:导航菜单。关于如何制作静态教程的大量教程,但动态是什么?如果我想制作一个不同页面的导航栏,我该怎么做呢?
我认为学习这类事情的最好方法是看示例代码。 RoR中有没有好的开源网站?我可以查看任何示例代码吗?
我想我的问题确实会导致使用MVC。基本的想法是非常基本的,我理解这一点。但似乎大多数应用程序都将每个部分彼此完全分开......如果我想将两个模型的数据组合在一起显示在同一页面上怎么办?举一个我提出的例子,如果我有一个NavModel和一个PageModel,我的PageController可以访问这两个模型吗?我想我认为PageController只能访问PageModel,而不是其他任何一个。我见过的所有例子似乎都是这样运作的...这是一个错误的假设吗?
或者我完全忽视了这一点,那是'做错了吗?'
答案 0 :(得分:5)
Open Source Rails是在rails中实现的网站的存储库。
答案 1 :(得分:3)
您所描述的问题与查找和显示任何类型的数据并没有什么不同,我确信您已经在博客上看到过片段等等(使用部分和/或布局可能是唯一的区别)。
如果您尚未阅读,请尝试Agile Web Development with Rails和The Rails Way。
答案 2 :(得分:2)
答案 3 :(得分:1)
您的控制器可以访问您的任何模型,因此如果PageController需要访问您的NavModel,那很好。我认为通常Nav控制器或帮助器将包含准备导航视图所需的方法,但是如果不知道项目的细节我无法确定 - 如果您认为它是Page逻辑的一部分,那么就把它放在那里。
您可能也对这个“What goes where”问题感兴趣。
答案 4 :(得分:0)
这是关于突出显示您所在页面中当前菜单项的方法