我想在我的App中创建静态网页 - T& Cs,关于,隐私等...我可以创建空白页面并将它们放在公共文件夹中并将'href'链接到它们。这被认为是最佳做法吗?或者我应该为每个人使用rails g控制器?有什么不同......
答案 0 :(得分:8)
HighVoltage是一颗宝石,可以帮助您准确了解您所采取的措施:
https://github.com/thoughtbot/high_voltage
这使得处理这些场景变得非常容易。来自文档:
编写静态页面并将它们放在RAILS_ROOT / app / views / pages目录中。
$ mkdir app/views/pages
$ touch app/views/pages/about.html.erb
在将有趣的东西放在那里之后,您可以在应用中的任何位置链接到它:
link_to "About", page_path("about")
如果你喜欢更明确的风格,这也会有效:
link_to "About", page_path(:id => "about")
答案 1 :(得分:3)
我经常会制作一个site
控制器,对每个公共页面都有操作,假设公共方面不会有大量内容。如果有更多,我会调查某种CMS。无论如何,创建一个site
控制器,然后为您需要的每个页面创建路由和模板。这样你就可以使用布局,并在需要时使用Rails助手。
答案 2 :(得分:1)
当然,您可以创建about.html
等,并将它们放入public
文件夹。如果它只是一个完全静态的网页,那么控制器不会添加任何值。子目录也可以在public
文件夹中正常工作,正如您所期望的那样。
答案 3 :(得分:1)
我通过使用这个令人敬畏的GEM https://github.com/thoughtbot/high_voltage
来解决它答案 4 :(得分:1)
让我觉得这应该是非常容易的,希望通过以下方式来考虑:
创建一条路线,例如:
match '/about' => "static#about"
〜然后创建一个简单的控制器,在本例中为app / controllers / static_controller.rb
class StaticController < ApplicationController
respond_to :html
def about
# nuttin
end
end
〜现在我们所需要的只是一个视图:(/ app /views / static / webs.html.erb)
Hey!
<强>排序强>
答案 5 :(得分:1)
创建静态页面'home'
$ rails generate controller Pages home
添加了一个新的控制器“页面”,其中包含“主页”操作。新的路线被插入'config / routes.rb'
# config/routes.rb
get "pages/home"
生成指向“首页”页面的链接
<%= link_to "Home", :controller => "pages", :action => "home" %>