Rails3 - 创建静态网页?

时间:2011-05-10 01:15:53

标签: ruby-on-rails-3

我想在我的App中创建静态网页 - T& Cs,关于,隐私等...我可以创建空白页面并将它们放在公共文件夹中并将'href'链接到它们。这被认为是最佳做法吗?或者我应该为每个人使用rails g控制器?有什么不同......

6 个答案:

答案 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" %>