Creando una Sencilla Plataforma de Blogs--Las Rutas

Por:, en:

ES:This tutorial assumes you have already completed:

  1. Install Ruby on Rails
  2. Create Ruby on Rails application
  3. Create Static Pages - without this deploy will not work
  4. Install Git
  5. Create Remote Git Repository - optional but recommended
  6. Deploy application to Heroku
  7. Manage users with Devise
  8. How to add Twitter Bootstrap to Ruby on Rails application - Advised
  9. Creating Simple Blogging Platform - Creating Model

En primer lugar, queremos ser capaces de acceder a las publicaciones con la URL a través de nuestro navegador. Por ejemplo URL: http://localhost:3000/posts deben llevarnos a la lista de todas las últimas entradas en nuestra base de datos y URL: http://localhost:3000/posts/new sdeben de llevarnos a la página para la crear una nueva entrada. Railsnos da una manera muy simple de crear esas URLs y conectarlos a nuestro “controlador” para nuestro "Model Post".

Paso 1: Ejecuta “Route Rake”

Podemos obtener una vista previa de la lista actual de rutas/URLs disponibles escribiendo en la terminal:

bash


$ rake routes


                      Prefix Verb   URI Pattern                    Controller#Action
        new_user_session GET    /users/sign_in(.:format)       devise/sessions#new
            user_session POST   /users/sign_in(.:format)       devise/sessions#create
    destroy_user_session DELETE /users/sign_out(.:format)      devise/sessions#destroy
           user_password POST   /users/password(.:format)      devise/passwords#create
       new_user_password GET    /users/password/new(.:format)  devise/passwords#new
      edit_user_password GET    /users/password/edit(.:format) devise/passwords#edit
                         PATCH  /users/password(.:format)      devise/passwords#update
                         PUT    /users/password(.:format)      devise/passwords#update
cancel_user_registration GET    /users/cancel(.:format)        devise/registrations#cancel
       user_registration POST   /users(.:format)               devise/registrations#create
   new_user_registration GET    /users/sign_up(.:format)       devise/registrations#new
  edit_user_registration GET    /users/edit(.:format)          devise/registrations#edit
                         PATCH  /users(.:format)               devise/registrations#update
                         PUT    /users(.:format)               devise/registrations#update
                         DELETE /users(.:format)               devise/registrations#destroy
                    root GET    /                              static_pages#home

Paso 2: Modifica las Rutas

Ahora abre el archivo config/routes.rb y agrega las rutas para las publicaciones. Lo haremos con una sola línea de código:

/config/routes.rb


  root 'static_pages#home'
  devise_for :users

  resources :posts

Paso 3: Ejecuta de nuevo “Routes Rake”’

Ejecuta rake routes otra vez checa todas las nuevas rutas que hemos añadido


$ rake routes


 root GET    /                              static_pages#home
        new_user_session GET    /users/sign_in(.:format)       devise/sessions#new
            user_session POST   /users/sign_in(.:format)       devise/sessions#create
    destroy_user_session DELETE /users/sign_out(.:format)      devise/sessions#destroy
           user_password POST   /users/password(.:format)      devise/passwords#create
       new_user_password GET    /users/password/new(.:format)  devise/passwords#new
      edit_user_password GET    /users/password/edit(.:format) devise/passwords#edit
                         PATCH  /users/password(.:format)      devise/passwords#update
                         PUT    /users/password(.:format)      devise/passwords#update
cancel_user_registration GET    /users/cancel(.:format)        devise/registrations#cancel
       user_registration POST   /users(.:format)               devise/registrations#create
   new_user_registration GET    /users/sign_up(.:format)       devise/registrations#new
  edit_user_registration GET    /users/edit(.:format)          devise/registrations#edit
                         PATCH  /users(.:format)               devise/registrations#update
                         PUT    /users(.:format)               devise/registrations#update
                         DELETE /users(.:format)               devise/registrations#destroy
                   posts GET    /posts(.:format)               posts#index
                         POST   /posts(.:format)               posts#create
                new_post GET    /posts/new(.:format)           posts#new
               edit_post GET    /posts/:id/edit(.:format)      posts#edit
                    post GET    /posts/:id(.:format)           posts#show
                         PATCH  /posts/:id(.:format)           posts#update
                         PUT    /posts/:id(.:format)           posts#update
                         DELETE /posts/:id(.:format)           posts#destroy

Acabamos de crear 8 nuevas rutas que vamos a utilizar para manipular nuestras publicaciones.


                   posts GET    /posts(.:format)               posts#index
                         POST   /posts(.:format)               posts#create
                new_post GET    /posts/new(.:format)           posts#new
               edit_post GET    /posts/:id/edit(.:format)      posts#edit
                    post GET    /posts/:id(.:format)           posts#show
                         PATCH  /posts/:id(.:format)           posts#update
                         PUT    /posts/:id(.:format)           posts#update
                         DELETE /posts/:id(.:format)           posts#destroy

Si tratamos de utilizar algunas de estas nuevas URLs, estas  se colgaran, ya que esperan  dirigirnos a un parecido de PostsController.

Rails application failing due to absence of controller

Displaying Posts >>

Si tu Inicio de sesión serás capaz de marcar esto tutorial Como vas avanzando tu progreso



Comentarios

  • en: Frank escribió:

    Thanks! I find that minor details, like putting the colon in the right place, can really trip me up.

Comentar

Tú puedes Inicio de sesión Comentar