2011-05-10 11 views
6

Quiero crear páginas web estáticas en mi aplicación - T & Cs, Acerca de, privacidad, etc ... tan sólo pudiera crear páginas en blanco y ponerlos en la carpeta pública y poner enlaces 'href' a ellos. ¿Esto se considera la mejor práctica? o debo usar los rieles g del controlador para cada uno de ellos? Cuál es la diferencia ...Rails3 - Crear una página web estática?

Respuesta

3

A menudo haré un controlador site que tenga acciones para cada una de las páginas públicas, asumiendo que no habrá un montón de contenido en el lado público. Si hubiera más, buscaría algún tipo de CMS. De todos modos, cree un controlador site y luego cree rutas y plantillas para cada una de las páginas que necesita. De esta forma, podrá usar un diseño y usar los ayudantes de Rails si los necesita.

1

Claro, solo puede crear about.html, etc. y ponerlos en la carpeta public. Si solo se trata de una página web completamente estática, entonces el controlador no agrega ningún valor. Los subdirectorios también funcionan bien en la carpeta public, como era de esperar.

8

de alta tensión es una joya que ayuda a cabo con exactamente lo que está tomando sobre: ​​

https://github.com/thoughtbot/high_voltage

Esto hace que sea muy fácil de manejar estas situaciones. A partir de los documentos:

Escribir sus páginas estáticas y ponerlos en el directorio/RAILS_ROOT/app/views páginas.

$ mkdir app/views/pages 
$ touch app/views/pages/about.html.erb 

Después de poner algo interesante allí, se puede vincular a la misma desde cualquier lugar de su aplicación con:

link_to "About", page_path("about") 

Esto también funciona, si te gusta el estilo más explícito:

link_to "About", page_path(:id => "about") 
1

Me di cuenta de que esta mierda Ould ser en realidad bastante fácil, es de esperar, pensar en esto:

Crear una ruta como por ejemplo:

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

~ a continuación, crear un controlador simple, en este caso app/controllers/static_controller.rb

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

~ ahora lo que necesitamos es una vista en: (/app/views/static/about.html.erb)

Hey! 

Ordenado

+0

olvidó de escribir este y vine aquí para ayudar a mí mismo:] – flunder

1

Crear página estática 'casa'

$ rails generate controller Pages home 

se añade un nuevo controlador 'páginas' con la acción 'casa'. Se inserta una nueva ruta en 'config/routes.rb'

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

Para generar un vínculo a la página 'Inicio'

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