我正在尝试为我的艺术作品建立一个在线展示/商店,我开始时遇到了一些麻烦。经过朋友的一些建议,我决定使用rails。
我的一个问题是关于控制器。每页都需要一个控制器吗?
截至目前,我计划在HTML中设置主页,联系人,产品和关于我们页面。这是否需要我有四个不同的控制器?
如果您有任何意见和建议,请告诉我。
答案 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_path
和about_us_url
答案 2 :(得分:1)
理想情况下,控制器代表Web应用程序中的资源(REST设计)。产品绝对是一个独立的控制器,具有新的,编辑等操作。
现在,您可以创建一个处理家庭,联系和我们的单一控制器,但我投反对票。我个人肯定会为每个人使用不同的控制器。
我更喜欢让所有内容尽可能孤立,只是让我的代码更加开放以进行扩展并关闭更改(开放/封闭设计原则)。
答案 3 :(得分:-1)
了解控制器在RESTful Rails风格的MVC中的作用。虽然REST并不适用于所有内容,但它可以让您了解控制器应该做什么(至少在Rails中)。