我想为一个讨论项目团队的网站页脚做一个简单的页面。这样的页面通常只有信息,没什么太花哨的。
我没有为它制作路线,基本上将它保存为team.html.rb在文件夹中:/app/views/team.html.rb
我不确定这是否是保存此类文件的正确位置。这种一次性文件的最佳位置在哪里?
另外,我是否还需要为此制作路线和控制器,或者我可以跳过这么简单的页面吗?
谢谢!
答案 0 :(得分:2)
我正在使用控制器来传送静态页面。
以下是类似问题的链接:
How to do static content in Rails?
你还可以做的是将一个静态html文件放入'public'文件夹并像这样引用它:
答案 1 :(得分:1)
我认为这不会起作用,因为Rails希望所有请求都通过控制器。最简单的方法是在routes.rb
的 end 中执行类似的操作:
match "/:action" => "pages"
然后在app/views/pages
中,您可以放置team.html.erb
。您还可能需要app/views/pages_controller.rb
中的至少一个空白控制器:
class PagesController < ApplicationController
end
关于这一点的好处是,如果你碰巧需要一个“静态”页面的动态内容,你可以定义一个控制器方法来加载它。
如果您的网站看起来有点过分,那么您可能需要更轻松的框架,例如Sinatra
答案 2 :(得分:1)
路由指向控制器操作,而不是视图。
对/ team的请求将(iirc)指向应用程序#团队。如果该操作不存在,您将收到错误。如果您已定义该操作(通过调用render
,它将在/ app / views / application中查找名为team.html [.erb | .json | .etc]的文件
正如相关主题所指出的那样,thinkbot的high_voltage gem非常适合提供静态页面。