难以掌握使用Rails的控制器

时间:2011-11-15 21:58:13

标签: html ruby-on-rails ruby model-view-controller controller

我正在尝试为我的艺术作品建立一个在线展示/商店,我开始时遇到了一些麻烦。经过朋友的一些建议,我决定使用rails。

我的一个问题是关于控制器。每页都需要一个控制器吗?

截至目前,我计划在HTML中设置主页,联系人,产品和关于我们页面。这是否需要我有四个不同的控制器?

如果您有任何意见和建议,请告诉我。

4 个答案:

答案 0 :(得分:5)

您的控制器需要基于主题,而不是基于。正如@topek所提到的,静态页面可以进入页面控制器。处理Product类管理的页面可以进入Products控制器。

真的,这不是一个Rails问题。这是一个MVC问题。

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

答案 1 :(得分:4)

不,在这种情况下,您可以PagesController进行各种操作 - 主页,联系方式,关于我们。

至于产品,这听起来像一个单独的控制器,至少有一个索引和显示动作。

对于 static 页面,您可以为没有页面前缀的干净网址创建命名路由,如下所示:

match 'about-us' => 'pages#about_us', :as => :about_us

然后,您可以在观看中使用about_us_pathabout_us_url

答案 2 :(得分:1)

理想情况下,控制器代表Web应用程序中的资源(REST设计)。产品绝对是一个独立的控制器,具有新的,编辑等操作。

现在,您可以创建一个处理家庭,联系和我们的单一控制器,但我投反对票。我个人肯定会为每个人使用不同的控制器。

我更喜欢让所有内容尽可能孤立,只是让我的代码更加开放以进行扩展并关闭更改(开放/封闭设计原则)。

答案 3 :(得分:-1)

了解控制器在RESTful Rails风格的MVC中的作用。虽然REST并不适用于所有内容,但它可以让您了解控制器应该做什么(至少在Rails中)。