查看不同的选项:
一种是将静态页面放在 public/文件夹中,但我确实希望布局/应用程序的标题保持一致。
我试过了,但是我得到了一个错误:
# in routes.rb:
map.connect '*path', :controller => 'content', :action => 'show'
# in content_controller.rb:
def show
render :action => params[:path].join('/')
end
我想要的只是一种简单的方法,只需创建一个 .rhtml 即可将我的常见问题解答、联系方式、服务条款、隐私和其他非应用程序类型的页面放在一起。谁做的?
最佳答案
对于 Rails6、Rails5 和 Rails4,您可以执行以下操作:
将下面这行放在你的 routes.rb 的末尾
get ':action' => 'static#:action'
然后向 root/welcome 请求,将呈现 /app/views/static/welcome.html.erb。
不要忘记创建一个“静态” Controller ,即使您不必在其中放置任何东西。
限制:如果有人试图访问一个不存在的页面,它将抛出一个应用程序错误。 See this solution below that can handle 404s
对于 Rails3 你必须使用 'match' 而不是 'get'
match ':action' => 'static#:action'
关于ruby-on-rails - 如何在 Rails 中做静态内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1146624/