将方法添加到现有控制器

时间:2011-08-14 07:24:15

标签: ruby-on-rails model-view-controller methods controller action

我对rails非常陌生,我希望你能帮我理解以下内容。

目前我有一个名为projects(projects_controller.rb)的控制器。根据我对ROR的理解,每个控制器都有一些基本的(固有的)方法,如索引,新建,创建,编辑,显示等。我想添加一个名为“help”的方法和一个显示帮助信息的视图。 / p>

目前,用户可以创建许多项目。项目包含一组由用户填充的字段。我想添加一个用户可以访问的帮助页面(通过项目屏幕上的链接),该页面解释了每个项目字段以及如何最好地填写它。我希望这是一个独立的页面(不仅仅是项目页面上显示的信息)。

截至目前,项目的URL是(编辑项目时): localhost:3001 / projects / id / edit

我希望帮助文件的路径为 localhost:3001 / projects / id / help

如果我希望帮助文件位于上面列出的路径中,我是否正确假设我需要在项目控制器中创建一个名为“help”的新方法?如果是这样,有什么东西需要添加到routes.rb才能使其正常运行?我会在Haml中使用link_to函数创建一个指向它的链接吗?

如果这看起来令人困惑或很多问题,我很抱歉。我很感激你的时间。如果您对是否在正确的道路上有任何建议,请告诉我。非常感谢你!

1 个答案:

答案 0 :(得分:1)

我认为目前你在路线中有这个

resources :products do  

end

只需用

替换它
resources :products do  
  get :help, :on => :member, :as => :help  
end

在控制器中添加方法,并在views / product文件夹中添加名为help.erb.html的视图(如果使用erb)。

您可以使用help_path和help_url