2011-05-10 58 views
6

我想在我的应用程序中创建静态网页 - T & Cs,关于,隐私等...我只需创建空白页并将它们放在公用文件夹中,并将“href”链接添加到它们。这是否被认为是最佳做法?或者我应该为他们每个人使用rails g controller?有什么区别...Rails3 - 创建一个静态网页?

回答

3

很多时候,我会做一个site控制器,对每个公共页面都采取行动,假设在公共方面不会有很多内容。如果还有更多,我会研究一些CMS。无论如何,创建一个site控制器,然后为每个需要的页面创建路由和模板。这样你就可以使用布局,并在需要时使用Rails助手。

1

当然,你可以创建about.html等,并将它们放入public文件夹中。如果它只是一个完全静态的网页,那么控制器不会添加任何值。正如您所期望的,子目录在public文件夹中也可以正常工作。

8

高压是一个宝石与你正在做关于什么帮助了:

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

刚刚明白了这个sh乌尔德实际上是很容易的,希望,认为这种通过:

创建例如像路线:

match '/about' => "static#about" 

〜然后创建一个简单的控制器,在这种情况下应用程序/控制器/ static_controller.rb

class StaticController < ApplicationController 
    respond_to :html 
    def about 
    # nuttin 
    end 
end 

〜现在我们需要的是一个观点:(/app/views/static/about.html.erb)

Hey! 

排序

+0

忘了我写这个,来到这里是为了帮助自己:] – flunder 2012-11-27 15:07:50

1

创建静态页面的 '家'

$ rails generate controller Pages home 

一个新的控制器 '页' 中加入动作 '家'。一条新的路由被插入'config/routes'。RB”

# config/routes.rb 
get "pages/home" 

要生成一个链接到页面‘家’

<%= link_to "Home", :controller => "pages", :action => "home" %>