嘿伙计们,圣诞快乐!
我是 ruby on rails 的新手,我仍然对一些东西有点困惑:
我什么时候需要创建一个新的控制器,什么时候不需要?
我想创建一个带有单个搜索框的应用程序并搜索所有文章。我应该为起始页(搜索框)和搜索创建一个控制器吗?我应该为静态页面创建控制器吗?
我应该使用管理界面 gem 还是创建自己的?
普通用户现在应该有权创建文章,只有管理员。我应该使用其中一个管理界面 gem 还是创建自己的?
嘿伙计们,圣诞快乐!
我是 ruby on rails 的新手,我仍然对一些东西有点困惑:
我什么时候需要创建一个新的控制器,什么时候不需要?
我想创建一个带有单个搜索框的应用程序并搜索所有文章。我应该为起始页(搜索框)和搜索创建一个控制器吗?我应该为静态页面创建控制器吗?
我应该使用管理界面 gem 还是创建自己的?
普通用户现在应该有权创建文章,只有管理员。我应该使用其中一个管理界面 gem 还是创建自己的?
Ruby on Rails 确实是 MVC,这意味着控制器将模型连接到视图。因此,一般来说,考虑更多面向资源是一种很好的做法:根据您想要找到/呈现的每个资源,您创建一个控制器。在您的情况下,例如:
ArticlesController
:您的主视图,带有搜索框PagesController
: 对于静态页面,如果你需要一些 erb/hamladmin/ArticlesController
: 用于管理文章现在,完全静态的页面也可以放在public
文件夹下,不需要控制器,除非您需要在页面上显示一些动态信息(例如文章总数)。
关于您的搜索框:恕我直言,这只是您的索引页面的一个参数。例如,在索引上显示最近的十篇文章,当搜索某个词时,显示相关文章,但在同一个控制器和相同操作上。
关于管理界面:是的,使用像rails_admin或active_admin这样的 gem ,它会让你立即开始。所以一定要这样做。当然,这些宝石非常通用,可能无法完全满足您的需求。应该是这种情况,您以后总是可以轻松恢复。
HTH。
Ruby on Rails 遵循 MVC 框架,控制器是包含您的操作的类,因此您需要为网站将提供的每个功能添加一个操作。从技术上讲,您可以在一个控制器中拥有所有操作,但这太糟糕了,因此我们通常会创建不同的控制器来以更好的方式组织您的路线和代码。 遵循控制器上的 Rails 指南。