From 21aa5ade9fd4ba327519492d49ee173bcde74687 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20H=2E=20Baz=C3=A1n?= Date: Wed, 7 Dec 2011 17:54:16 +0100 Subject: [PATCH 01/13] =?UTF-8?q?a=C3=B1adido=20autores?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/assets/images/Avatar-1-ld.png | Bin 0 -> 5311 bytes app/assets/images/epardo.jpg | Bin 0 -> 88361 bytes app/controllers/planet_controller.rb | 4 ++++ app/views/layouts/application.html.erb | 5 +++-- app/views/planet/author.html.erb | 1 + config/routes.rb | 4 ++++ 6 files changed, 12 insertions(+), 2 deletions(-) create mode 100755 app/assets/images/Avatar-1-ld.png create mode 100644 app/assets/images/epardo.jpg create mode 100644 app/views/planet/author.html.erb diff --git a/app/assets/images/Avatar-1-ld.png b/app/assets/images/Avatar-1-ld.png new file mode 100755 index 0000000000000000000000000000000000000000..5cfc90bc0d724b233b7a918e7e651c310d054083 GIT binary patch literal 5311 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/epardo.jpg b/app/assets/images/epardo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ff78d8bf9bba8e55a8fdbe2c7d2303e9f7874fb9 GIT binary patch literal 88361 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 z%0D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 +<%=link_to('Home', planet_index_path) %> | <%=link_to('Contact', planet_contact_path) %>| <%=link_to('Ejemplo', planet_ejemplo_path) %> | <%=link_to('Author', planet_author_path) %> +<%= yield %> -<%= yield %> - +<%=link_to('Home', planet_index_path) %> | <%=link_to('Contact', planet_contact_path) %>| <%=link_to('Ejemplo', planet_ejemplo_path) %> | <%=link_to('Author', planet_author_path) %> diff --git a/app/views/planet/author.html.erb b/app/views/planet/author.html.erb new file mode 100644 index 0000000..d2b634a --- /dev/null +++ b/app/views/planet/author.html.erb @@ -0,0 +1 @@ +

Authors

Víctor Hugo Bazán Milla
Enrique Pardo Vázquez-Bruno

  • Nombre: <%= "Víctor Hugo Bazán Milla" %> <%= image_tag('Avatar-1-ld.png', :height => '120', :width => '95') %>
  • Dirección Postal: <%= "C/. Santiago Cordero 2-A, 2º C, 28029-Madrid" %>
  • Dirección electrónica: <%= link_to('vh.bazan@upm.es', 'mailto:vh.bazan@upm.es') %>

  • Especialidades Técnicas:
      Sistemas Operativos: Windows 7/VISTA/XP/2000/NT/98, LINUX, UNIX, Mac O.S.
      Lenguajes de Programación: Java, C, HTML, XML, PHP, ASP, ASPX, .NET, Ruby, Ruby On Rails
      Apps. móviles: iOS (Objective-C), Android (Java)
      Bases de Datos: Ms. SQL, Oracle, MySql.
      Software: Eclipse, Adobe Photoshop, Dreamweaver, phpDesigner, XCode, StartUML, IBM Rotational Works.
      Idiomas: Inglés: Avanzado.
  • Experiencia Laboral:
      Administrador de Redes y Sistemas Junio 2007 - Actualidad
      <%=link_to('Escuela Técnica Superior de Arquitectura (U.P.M.)', 'http://www.aq.upm.es') %> - Centro de Cálculo
      Desarrollador de Aplicaciones Web June 2006 – Junio 2007
      <%=link_to('Universidad Politécnica de Madrid','http://www.upm.es') %> - Vicerrectorado de Relaciones Internacionales
      Técnico Senior en Microinformática June 2000 – Diciembre 2005
      <%=link_to('Escuela Técnica Superior de Ing. de Telecomunicaciones', 'http://www.etsit.upm.es') %> - Gabinete de Informática y Comunicaciones
    • Nombre: <%= "Enrique Pardo Vázquez-Bruno" %> <%= image_tag('epardo.jpg', :height => '120', :width => '110') %>
    • Dirección Postal: <%= "Avenida de La Gavia 14, Portal 7, 2ºC 28051 Madrid" %>
    • Dirección electrónica: <%= link_to('kikovin@gmail.com', 'mailto:kikovin@gmail.com') %>
  • Experiencia Laboral:
      Programador 2008 - actualidad
      Jazztel
      Programador PHP 2007 - 2008
      Getinsa
      Beca como programador 2006 - 2007
      idealista.com


  • \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index dd92bfc..7b86d78 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,10 +1,14 @@ Planet::Application.routes.draw do + resources :types + get "planet/index" get "planet/contact" get "planet/ejemplo" # Se añade una nueva ruta a la acción ejemplo + #añadimos la nueva ruta pedida para la entrega + get "planet/author" # The priority is based upon order of creation: # first created -> highest priority. From 58574d603aa2b688eee8f164eb1f7f55d3bb2068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20H=2E=20Baz=C3=A1n?= Date: Sun, 11 Dec 2011 21:36:55 +0100 Subject: [PATCH 02/13] creacion de scaffold site --- app/assets/javascripts/sites.js.coffee | 3 + app/assets/stylesheets/sites.css.scss | 3 + app/controllers/sites_controller.rb | 83 +++++++++++++++++++++++ app/helpers/sites_helper.rb | 2 + app/models/site.rb | 2 + app/views/sites/_form.html.erb | 45 ++++++++++++ app/views/sites/edit.html.erb | 6 ++ app/views/sites/index.html.erb | 35 ++++++++++ app/views/sites/new.html.erb | 5 ++ app/views/sites/show.html.erb | 40 +++++++++++ config/routes.rb | 2 + db/migrate/20111211203633_create_sites.rb | 15 ++++ test/fixtures/sites.yml | 19 ++++++ test/functional/sites_controller_test.rb | 49 +++++++++++++ test/unit/helpers/sites_helper_test.rb | 4 ++ test/unit/site_test.rb | 7 ++ 16 files changed, 320 insertions(+) create mode 100644 app/assets/javascripts/sites.js.coffee create mode 100644 app/assets/stylesheets/sites.css.scss create mode 100644 app/controllers/sites_controller.rb create mode 100644 app/helpers/sites_helper.rb create mode 100644 app/models/site.rb create mode 100644 app/views/sites/_form.html.erb create mode 100644 app/views/sites/edit.html.erb create mode 100644 app/views/sites/index.html.erb create mode 100644 app/views/sites/new.html.erb create mode 100644 app/views/sites/show.html.erb create mode 100644 db/migrate/20111211203633_create_sites.rb create mode 100644 test/fixtures/sites.yml create mode 100644 test/functional/sites_controller_test.rb create mode 100644 test/unit/helpers/sites_helper_test.rb create mode 100644 test/unit/site_test.rb diff --git a/app/assets/javascripts/sites.js.coffee b/app/assets/javascripts/sites.js.coffee new file mode 100644 index 0000000..7615679 --- /dev/null +++ b/app/assets/javascripts/sites.js.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/ diff --git a/app/assets/stylesheets/sites.css.scss b/app/assets/stylesheets/sites.css.scss new file mode 100644 index 0000000..9b5f203 --- /dev/null +++ b/app/assets/stylesheets/sites.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the Sites controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/sites_controller.rb b/app/controllers/sites_controller.rb new file mode 100644 index 0000000..5deddd7 --- /dev/null +++ b/app/controllers/sites_controller.rb @@ -0,0 +1,83 @@ +class SitesController < ApplicationController + # GET /sites + # GET /sites.json + def index + @sites = Site.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @sites } + end + end + + # GET /sites/1 + # GET /sites/1.json + def show + @site = Site.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @site } + end + end + + # GET /sites/new + # GET /sites/new.json + def new + @site = Site.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @site } + end + end + + # GET /sites/1/edit + def edit + @site = Site.find(params[:id]) + end + + # POST /sites + # POST /sites.json + def create + @site = Site.new(params[:site]) + + respond_to do |format| + if @site.save + format.html { redirect_to @site, notice: 'Site was successfully created.' } + format.json { render json: @site, status: :created, location: @site } + else + format.html { render action: "new" } + format.json { render json: @site.errors, status: :unprocessable_entity } + end + end + end + + # PUT /sites/1 + # PUT /sites/1.json + def update + @site = Site.find(params[:id]) + + respond_to do |format| + if @site.update_attributes(params[:site]) + format.html { redirect_to @site, notice: 'Site was successfully updated.' } + format.json { head :ok } + else + format.html { render action: "edit" } + format.json { render json: @site.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /sites/1 + # DELETE /sites/1.json + def destroy + @site = Site.find(params[:id]) + @site.destroy + + respond_to do |format| + format.html { redirect_to sites_url } + format.json { head :ok } + end + end +end diff --git a/app/helpers/sites_helper.rb b/app/helpers/sites_helper.rb new file mode 100644 index 0000000..621069d --- /dev/null +++ b/app/helpers/sites_helper.rb @@ -0,0 +1,2 @@ +module SitesHelper +end diff --git a/app/models/site.rb b/app/models/site.rb new file mode 100644 index 0000000..3c824bd --- /dev/null +++ b/app/models/site.rb @@ -0,0 +1,2 @@ +class Site < ActiveRecord::Base +end diff --git a/app/views/sites/_form.html.erb b/app/views/sites/_form.html.erb new file mode 100644 index 0000000..1fc1c40 --- /dev/null +++ b/app/views/sites/_form.html.erb @@ -0,0 +1,45 @@ +<%= form_for(@site) do |f| %> + <% if @site.errors.any? %> +
    +

    <%= pluralize(@site.errors.count, "error") %> prohibited this site from being saved:

    + +
      + <% @site.errors.full_messages.each do |msg| %> +
    • <%= msg %>
    • + <% end %> +
    +
    + <% end %> + +
    + <%= f.label :name %>
    + <%= f.text_field :name %> +
    +
    + <%= f.label :description %>
    + <%= f.text_area :description %> +
    +
    + <%= f.label :type_id %>
    + <%= f.number_field :type_id %> +
    +
    + <%= f.label :latitud %>
    + <%= f.text_field :latitud %> +
    +
    + <%= f.label :longitude %>
    + <%= f.text_field :longitude %> +
    +
    + <%= f.label :zoom %>
    + <%= f.text_field :zoom %> +
    +
    + <%= f.label :image_url %>
    + <%= f.text_field :image_url %> +
    +
    + <%= f.submit %> +
    +<% end %> diff --git a/app/views/sites/edit.html.erb b/app/views/sites/edit.html.erb new file mode 100644 index 0000000..d46384f --- /dev/null +++ b/app/views/sites/edit.html.erb @@ -0,0 +1,6 @@ +

    Editing site

    + +<%= render 'form' %> + +<%= link_to 'Show', @site %> | +<%= link_to 'Back', sites_path %> diff --git a/app/views/sites/index.html.erb b/app/views/sites/index.html.erb new file mode 100644 index 0000000..ef5e09e --- /dev/null +++ b/app/views/sites/index.html.erb @@ -0,0 +1,35 @@ +

    Listing sites

    + + + + + + + + + + + + + + + +<% @sites.each do |site| %> + + + + + + + + + + + + +<% end %> +
    NameDescriptionTypeLatitudLongitudeZoomImage url
    <%= site.name %><%= site.description %><%= site.type_id %><%= site.latitud %><%= site.longitude %><%= site.zoom %><%= site.image_url %><%= link_to 'Show', site %><%= link_to 'Edit', edit_site_path(site) %><%= link_to 'Destroy', site, confirm: 'Are you sure?', method: :delete %>
    + +
    + +<%= link_to 'New Site', new_site_path %> diff --git a/app/views/sites/new.html.erb b/app/views/sites/new.html.erb new file mode 100644 index 0000000..2988bdc --- /dev/null +++ b/app/views/sites/new.html.erb @@ -0,0 +1,5 @@ +

    New site

    + +<%= render 'form' %> + +<%= link_to 'Back', sites_path %> diff --git a/app/views/sites/show.html.erb b/app/views/sites/show.html.erb new file mode 100644 index 0000000..bc04c32 --- /dev/null +++ b/app/views/sites/show.html.erb @@ -0,0 +1,40 @@ +

    <%= notice %>

    + +

    + Name: + <%= @site.name %> +

    + +

    + Description: + <%= @site.description %> +

    + +

    + Type: + <%= @site.type_id %> +

    + +

    + Latitud: + <%= @site.latitud %> +

    + +

    + Longitude: + <%= @site.longitude %> +

    + +

    + Zoom: + <%= @site.zoom %> +

    + +

    + Image url: + <%= @site.image_url %> +

    + + +<%= link_to 'Edit', edit_site_path(@site) %> | +<%= link_to 'Back', sites_path %> diff --git a/config/routes.rb b/config/routes.rb index 7b86d78..54faf1d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,4 +1,6 @@ Planet::Application.routes.draw do + resources :sites + resources :types get "planet/index" diff --git a/db/migrate/20111211203633_create_sites.rb b/db/migrate/20111211203633_create_sites.rb new file mode 100644 index 0000000..51c3fb0 --- /dev/null +++ b/db/migrate/20111211203633_create_sites.rb @@ -0,0 +1,15 @@ +class CreateSites < ActiveRecord::Migration + def change + create_table :sites do |t| + t.string :name + t.text :description + t.integer :type_id + t.decimal :latitud + t.decimal :longitude + t.decimal :zoom + t.string :image_url + + t.timestamps + end + end +end diff --git a/test/fixtures/sites.yml b/test/fixtures/sites.yml new file mode 100644 index 0000000..96312a5 --- /dev/null +++ b/test/fixtures/sites.yml @@ -0,0 +1,19 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + name: MyString + description: MyText + type_id: 1 + latitud: 9.99 + longitude: 9.99 + zoom: 9.99 + image_url: MyString + +two: + name: MyString + description: MyText + type_id: 1 + latitud: 9.99 + longitude: 9.99 + zoom: 9.99 + image_url: MyString diff --git a/test/functional/sites_controller_test.rb b/test/functional/sites_controller_test.rb new file mode 100644 index 0000000..efa51c7 --- /dev/null +++ b/test/functional/sites_controller_test.rb @@ -0,0 +1,49 @@ +require 'test_helper' + +class SitesControllerTest < ActionController::TestCase + setup do + @site = sites(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:sites) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create site" do + assert_difference('Site.count') do + post :create, site: @site.attributes + end + + assert_redirected_to site_path(assigns(:site)) + end + + test "should show site" do + get :show, id: @site.to_param + assert_response :success + end + + test "should get edit" do + get :edit, id: @site.to_param + assert_response :success + end + + test "should update site" do + put :update, id: @site.to_param, site: @site.attributes + assert_redirected_to site_path(assigns(:site)) + end + + test "should destroy site" do + assert_difference('Site.count', -1) do + delete :destroy, id: @site.to_param + end + + assert_redirected_to sites_path + end +end diff --git a/test/unit/helpers/sites_helper_test.rb b/test/unit/helpers/sites_helper_test.rb new file mode 100644 index 0000000..0e92edf --- /dev/null +++ b/test/unit/helpers/sites_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class SitesHelperTest < ActionView::TestCase +end diff --git a/test/unit/site_test.rb b/test/unit/site_test.rb new file mode 100644 index 0000000..38c8dd0 --- /dev/null +++ b/test/unit/site_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class SiteTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end From f6a80a6cc9a8a646bf9e6a73359157fcb226092e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20H=2E=20Baz=C3=A1n?= Date: Sun, 11 Dec 2011 21:53:38 +0100 Subject: [PATCH 03/13] cambios modelo y migracion site --- app/models/site.rb | 1 + app/models/type.rb | 1 + db/migrate/20111211203633_create_sites.rb | 6 +++--- db/schema.rb | 14 +++++++++++++- 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/app/models/site.rb b/app/models/site.rb index 3c824bd..121eb07 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -1,2 +1,3 @@ class Site < ActiveRecord::Base +belongs_to:type end diff --git a/app/models/type.rb b/app/models/type.rb index e89da76..8b4420a 100644 --- a/app/models/type.rb +++ b/app/models/type.rb @@ -1,2 +1,3 @@ class Type < ActiveRecord::Base +has_many:sites end diff --git a/db/migrate/20111211203633_create_sites.rb b/db/migrate/20111211203633_create_sites.rb index 51c3fb0..6977bd2 100644 --- a/db/migrate/20111211203633_create_sites.rb +++ b/db/migrate/20111211203633_create_sites.rb @@ -4,9 +4,9 @@ def change t.string :name t.text :description t.integer :type_id - t.decimal :latitud - t.decimal :longitude - t.decimal :zoom + t.decimal :latitude, :precision => 8, :scale =>6 + t.decimal :longitude, :precision => 8, :scale =>6 + t.decimal :zoom, :precision => 8, :scale =>6 t.string :image_url t.timestamps diff --git a/db/schema.rb b/db/schema.rb index 61dcaab..ef3c93c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,19 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20111121171513) do +ActiveRecord::Schema.define(:version => 20111211203633) do + + create_table "sites", :force => true do |t| + t.string "name" + t.text "description" + t.integer "type_id" + t.decimal "latitude", :precision => 8, :scale => 6 + t.decimal "longitude", :precision => 8, :scale => 6 + t.decimal "zoom", :precision => 8, :scale => 6 + t.string "image_url" + t.datetime "created_at" + t.datetime "updated_at" + end create_table "types", :force => true do |t| t.string "name" From 9eb7f608c54068288302fda96b2930f6a1867b23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20H=2E=20Baz=C3=A1n?= Date: Sun, 11 Dec 2011 23:01:54 +0100 Subject: [PATCH 04/13] Adaptacion vistas a relaciones modelo --- app/assets/images/Machu-Picchu.jpg | Bin 0 -> 36283 bytes app/views/layouts/application.html.erb | 5 ++++- app/views/sites/_form.html.erb | 10 +++++----- app/views/sites/index.html.erb | 6 +++--- app/views/sites/show.html.erb | 4 ++-- 5 files changed, 14 insertions(+), 11 deletions(-) create mode 100644 app/assets/images/Machu-Picchu.jpg diff --git a/app/assets/images/Machu-Picchu.jpg b/app/assets/images/Machu-Picchu.jpg new file mode 100644 index 0000000000000000000000000000000000000000..585120e86a6e59cf298e87beb32b49fdc8c46797 GIT binary patch literal 36283 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%0A!*r_>h5onv$!TmX5X8r|&arG@~-wI1G8C>osl# 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 literal 0 HcmV?d00001 diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 4c6bd25..25d8d80 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -7,9 +7,12 @@ <%= csrf_meta_tags %> +<%= link_to "Sitios", sites_path %> | +<%= link_to "Tipos", types_path %> | <%=link_to('Home', planet_index_path) %> | <%=link_to('Contact', planet_contact_path) %>| <%=link_to('Ejemplo', planet_ejemplo_path) %> | <%=link_to('Author', planet_author_path) %> <%= yield %> -<%=link_to('Home', planet_index_path) %> | <%=link_to('Contact', planet_contact_path) %>| <%=link_to('Ejemplo', planet_ejemplo_path) %> | <%=link_to('Author', planet_author_path) %> +<%= link_to "Sitios", sites_path %> | +<%= link_to "Tipos", types_path %> |<%=link_to('Home', planet_index_path) %> | <%=link_to('Contact', planet_contact_path) %>| <%=link_to('Ejemplo', planet_ejemplo_path) %> | <%=link_to('Author', planet_author_path) %> diff --git a/app/views/sites/_form.html.erb b/app/views/sites/_form.html.erb index 1fc1c40..f26e94e 100644 --- a/app/views/sites/_form.html.erb +++ b/app/views/sites/_form.html.erb @@ -20,12 +20,12 @@ <%= f.text_area :description %>
    - <%= f.label :type_id %>
    - <%= f.number_field :type_id %> + <% types = Type.find(:all, :order => :name) %> + <%= f.collection_select(:type_id, types, :id, :name) %>
    - <%= f.label :latitud %>
    - <%= f.text_field :latitud %> + <%= f.label :latitude %>
    + <%= f.text_field :latitude %>
    <%= f.label :longitude %>
    @@ -33,7 +33,7 @@
    <%= f.label :zoom %>
    - <%= f.text_field :zoom %> + <%= f.text_field :zoom, value: "22" %>
    <%= f.label :image_url %>
    diff --git a/app/views/sites/index.html.erb b/app/views/sites/index.html.erb index ef5e09e..600dd24 100644 --- a/app/views/sites/index.html.erb +++ b/app/views/sites/index.html.erb @@ -5,7 +5,7 @@ Name Description Type - Latitud + Latitude Longitude Zoom Image url @@ -18,8 +18,8 @@ <%= site.name %> <%= site.description %> - <%= site.type_id %> - <%= site.latitud %> + <%= site.type.name if site.type %> + <%= site.latitude %> <%= site.longitude %> <%= site.zoom %> <%= site.image_url %> diff --git a/app/views/sites/show.html.erb b/app/views/sites/show.html.erb index bc04c32..fdddc4e 100644 --- a/app/views/sites/show.html.erb +++ b/app/views/sites/show.html.erb @@ -12,12 +12,12 @@

    Type: - <%= @site.type_id %> + <%= @site.type.name %>

    Latitud: - <%= @site.latitud %> + <%= @site.latitude %>

    From 5375432ddf086979569cca1f16a94bfad69530d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20H=2E=20Baz=C3=A1n?= Date: Mon, 12 Dec 2011 00:02:50 +0100 Subject: [PATCH 05/13] Rutas anidadas types/:id/sites --- app/controllers/sites_controller.rb | 12 +++++++++++- app/views/layouts/application.html.erb | 1 + config/routes.rb | 8 ++++++-- test/fixtures/sites.yml | 4 ++-- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/app/controllers/sites_controller.rb b/app/controllers/sites_controller.rb index 5deddd7..78c2b45 100644 --- a/app/controllers/sites_controller.rb +++ b/app/controllers/sites_controller.rb @@ -1,8 +1,17 @@ class SitesController < ApplicationController # GET /sites # GET /sites.json - def index + + def index + +# Se incluye @site = Site.all dentro de esta sentencia if-else-end +# -> si la condición es falsa el path es: /types/id/sites +if params[:type_id].nil? or params[:type_id].empty? @sites = Site.all +else + @sites = Type.find(params[:type_id]).sites +end + respond_to do |format| format.html # index.html.erb @@ -12,6 +21,7 @@ def index # GET /sites/1 # GET /sites/1.json + def show @site = Site.find(params[:id]) diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 25d8d80..e2ef5e5 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -12,6 +12,7 @@ <%=link_to('Home', planet_index_path) %> | <%=link_to('Contact', planet_contact_path) %>| <%=link_to('Ejemplo', planet_ejemplo_path) %> | <%=link_to('Author', planet_author_path) %> <%= yield %> +
    <%= link_to "Sitios", sites_path %> | <%= link_to "Tipos", types_path %> |<%=link_to('Home', planet_index_path) %> | <%=link_to('Contact', planet_contact_path) %>| <%=link_to('Ejemplo', planet_ejemplo_path) %> | <%=link_to('Author', planet_author_path) %> diff --git a/config/routes.rb b/config/routes.rb index 54faf1d..52f7907 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,7 +1,11 @@ Planet::Application.routes.draw do - resources :sites + + + resources :types do + resources:sites +end +resources :sites - resources :types get "planet/index" diff --git a/test/fixtures/sites.yml b/test/fixtures/sites.yml index 96312a5..04d742c 100644 --- a/test/fixtures/sites.yml +++ b/test/fixtures/sites.yml @@ -4,7 +4,7 @@ one: name: MyString description: MyText type_id: 1 - latitud: 9.99 + latitude: 9.99 longitude: 9.99 zoom: 9.99 image_url: MyString @@ -13,7 +13,7 @@ two: name: MyString description: MyText type_id: 1 - latitud: 9.99 + latitude: 9.99 longitude: 9.99 zoom: 9.99 image_url: MyString From 82fd3abf57507ab3c994c96ae7c37109a0da52c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20H=2E=20Baz=C3=A1n?= Date: Tue, 13 Dec 2011 12:53:12 +0100 Subject: [PATCH 06/13] Cambio de look con nuevas vistas y CSS --- .../images/Playa_Jardin_Tenerife_2005.png | Bin 0 -> 4831 bytes app/assets/images/logo3.png | Bin 0 -> 10335 bytes app/assets/stylesheets/planet.css | 102 ++++++++++++++++++ app/views/layouts/application.html.erb | 29 +++-- app/views/sites/index.html.erb | 58 +++++----- app/views/sites/show.html.erb | 57 ++++------ app/views/types/index.html.erb | 40 ++++--- 7 files changed, 193 insertions(+), 93 deletions(-) create mode 100644 app/assets/images/Playa_Jardin_Tenerife_2005.png create mode 100644 app/assets/images/logo3.png create mode 100755 app/assets/stylesheets/planet.css diff --git a/app/assets/images/Playa_Jardin_Tenerife_2005.png b/app/assets/images/Playa_Jardin_Tenerife_2005.png new file mode 100644 index 0000000000000000000000000000000000000000..0f0b42ea97f8626a6788053cf23a410962d890e4 GIT binary patch literal 4831 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 FV1i1ReJ20_ literal 0 HcmV?d00001 diff --git a/app/assets/images/logo3.png b/app/assets/images/logo3.png new file mode 100644 index 0000000000000000000000000000000000000000..bfa4c138a06c6474bb7564f77fec65c9ccb83336 GIT binary patch literal 10335 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 literal 0 HcmV?d00001 diff --git a/app/assets/stylesheets/planet.css b/app/assets/stylesheets/planet.css new file mode 100755 index 0000000..3ac3a81 --- /dev/null +++ b/app/assets/stylesheets/planet.css @@ -0,0 +1,102 @@ +#banner { + background: #668; + padding-top: 10px; + padding-bottom: 10px; + border-bottom: 2px solid; + font: small-caps 40px/40px + "Times New Roman", serif; + color: #bfb; + text-align: center; +} + + +#banner img { + float: left; + padding-left: 10px; +} +#columns { + background: #446; +} +#main { + margin-left: 9em; + padding-top: 4ex; + padding-left: 2em; + background: white; +} +#side { + float: left; + padding-top: 1em; + padding-left: 1em; + padding-bottom: 1em; + width: 8em; + background: #446; +} +#side a { + color: #bfb; + font-size: small; +} +#columns a{ +color: #bfb; + font-size: small; +} +#columns #main a{ +color: #222266; + font-size: small; +} +#planet #notice { + color: #000; + border: 2px solid red; + padding: 1em; + margin-bottom: 2em; + background-color: #f0f0f0; + font: bold smaller sans-serif; +} +#planet h1 { + font: 150% sans-serif; + color: #226; + border-bottom: 3px dotted #77d; +} +/* Styles for index, sites and types */ +#site_list table { + border-collapse: collapse; +} +#site_list table tr td { + padding: 5px; + vertical-align: top; +} +#site_list .list_image { + width: 60px; + height: 70px; +} + +#site_list .list_description { + width: 60%; +} +#site_list .list_description dl { + margin: 0; +} +#site_list .list_description dt { +! color: #244; +! font-weight: bold; +! font-size: larger; +} +#site_list .list_description dd { + margin: 0; +} +#site_list .list_actions { + font-size: x-small; + text-align: right; + padding-left: 1em; +} +#site_list .list_line_even { + background: #a8b8f8; +} +#site_list .list_line_odd { + background: #88b0f8; +} +div#columns div#main div#site_list table tbody tr.list_line_odd td.list_description dl dt a{ +color: #BBFFBB; + font-size: small; +} + + diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index e2ef5e5..8461cc2 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -1,19 +1,30 @@ - Planet - <%= stylesheet_link_tag "application" %> - <%= javascript_include_tag "application" %> + Planet Travel Site + <%= stylesheet_link_tag "scaffold" %> + <%= stylesheet_link_tag "planet" %> + <%= javascript_include_tag :defaults %> <%= csrf_meta_tags %> - -<%= link_to "Sitios", sites_path %> | -<%= link_to "Tipos", types_path %> | -<%=link_to('Home', planet_index_path) %> | <%=link_to('Contact', planet_contact_path) %>| <%=link_to('Ejemplo', planet_ejemplo_path) %> | <%=link_to('Author', planet_author_path) %> -<%= yield %> + +

    +
    +
    +<%= link_to "Sitios", sites_path %>
    +<%= link_to "Tipos", types_path %>
    +<%=link_to('Home', planet_index_path) %>
    <%=link_to('Contact', planet_contact_path) %>
    <%=link_to('Ejemplo', planet_ejemplo_path) %>
    <%=link_to('Author', planet_author_path) %> + +
    +
    + <%= yield %> +
    -
    <%= link_to "Sitios", sites_path %> | <%= link_to "Tipos", types_path %> |<%=link_to('Home', planet_index_path) %> | <%=link_to('Contact', planet_contact_path) %>| <%=link_to('Ejemplo', planet_ejemplo_path) %> | <%=link_to('Author', planet_author_path) %> +
    diff --git a/app/views/sites/index.html.erb b/app/views/sites/index.html.erb index 600dd24..bf9ddfb 100644 --- a/app/views/sites/index.html.erb +++ b/app/views/sites/index.html.erb @@ -1,35 +1,35 @@ +

    Listing sites

    - - - - - - - - - - - - + <% @sites.each do |site| %> + + + + -<% @sites.each do |site| %> - - - - - - - - - - - - -<% end %> -
    NameDescriptionTypeLatitudeLongitudeZoomImage url
    + <%= link_to image_tag(site.image_url, :class => 'list_image'), site %> + +
    +
    + <%= link_to site.name, site %>
    +
    + <%= truncate(strip_tags(site.description), + :length => 80) %>
    +
    +
    <%= site.name %><%= site.description %><%= site.type.name if site.type %><%= site.latitude %><%= site.longitude %><%= site.zoom %><%= site.image_url %><%= link_to 'Show', site %><%= link_to 'Edit', edit_site_path(site) %><%= link_to 'Destroy', site, confirm: 'Are you sure?', method: :delete %>
    + + + <%= link_to 'Show', site %>
    + <%= link_to 'Edit', edit_site_path(site) %>
    + <%= link_to 'Destroy', site, + :confirm => 'Are you sure?', + :method => :delete %> + + + <% end %> + +

    -
    -<%= link_to 'New Site', new_site_path %> +<%= link_to 'New Site', new_site_path %> diff --git a/app/views/sites/show.html.erb b/app/views/sites/show.html.erb index fdddc4e..bb19d45 100644 --- a/app/views/sites/show.html.erb +++ b/app/views/sites/show.html.erb @@ -1,40 +1,21 @@ -

    <%= notice %>

    - -

    - Name: - <%= @site.name %> -

    - -

    - Description: - <%= @site.description %> -

    - -

    - Type: - <%= @site.type.name %> -

    - -

    - Latitud: - <%= @site.latitude %> -

    - -

    - Longitude: - <%= @site.longitude %> -

    - -

    - Zoom: - <%= @site.zoom %> -

    - -

    - Image url: - <%= @site.image_url %> -

    - - +
    +

    <%= @site.type.name if @site.type %>

    + <%= image_tag(@site.image_url, :class => 'site_image') %> +

    <%= @site.name %>

    + +

    <%=sanitize @site.description %>

    +
    + + Latitude: + <%= @site.latitude %> + + + Longitude: + <%= @site.longitude %> + +
    +
    + +

    <%= link_to 'Edit', edit_site_path(@site) %> | <%= link_to 'Back', sites_path %> diff --git a/app/views/types/index.html.erb b/app/views/types/index.html.erb index 50bda49..111344e 100644 --- a/app/views/types/index.html.erb +++ b/app/views/types/index.html.erb @@ -1,25 +1,31 @@ +

    Listing types

    - - - - - - - <% @types.each do |type| %> - - - - - - - -<% end %> -
    NameDescription
    <%= type.name %><%= type.description %><%= link_to 'Show', type %><%= link_to 'Edit', edit_type_path(type) %><%= link_to 'Destroy', type, confirm: 'Are you sure?', method: :delete %>
    + + +
    +
    <%= link_to type.name, 'types/'+type.id.to_s+'/sites' %>
    +
    <%= truncate(strip_tags(type.description), + :length => 80) %>
    +
    + + + + <%= link_to 'Show', type %>
    + <%= link_to 'Edit', edit_type_path(type) %>
    + <%= link_to 'Destroy', type, + :confirm => 'Are you sure?', + :method => :delete %> + + + <% end %> + +
    +
    -<%= link_to 'New Type', new_type_path %> +<%= link_to 'New Type', new_type_path %> From 46a9037e09cae2e653472d7ee9c7717f68ef497c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20H=2E=20Baz=C3=A1n?= Date: Wed, 14 Dec 2011 10:39:42 +0100 Subject: [PATCH 07/13] =?UTF-8?q?creaci=C3=B3n=20de=20scaffold=20viaje?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/assets/javascripts/viajes.js.coffee | 3 + app/assets/stylesheets/viajes.css.scss | 3 + app/controllers/sites_controller.rb | 2 + app/controllers/viajes_controller.rb | 83 ++++++++++++++++++++++ app/helpers/viajes_helper.rb | 2 + app/models/viaje.rb | 2 + app/views/layouts/application.html.erb | 20 +++++- app/views/sites/index.html.erb | 7 +- app/views/viajes/_form.html.erb | 21 ++++++ app/views/viajes/edit.html.erb | 6 ++ app/views/viajes/index.html.erb | 23 ++++++ app/views/viajes/new.html.erb | 5 ++ app/views/viajes/show.html.erb | 10 +++ config/routes.rb | 2 + db/migrate/20111214093914_create_viajes.rb | 9 +++ test/fixtures/viajes.yml | 7 ++ test/functional/viajes_controller_test.rb | 49 +++++++++++++ test/unit/helpers/viajes_helper_test.rb | 4 ++ test/unit/viaje_test.rb | 7 ++ 19 files changed, 261 insertions(+), 4 deletions(-) create mode 100644 app/assets/javascripts/viajes.js.coffee create mode 100644 app/assets/stylesheets/viajes.css.scss create mode 100644 app/controllers/viajes_controller.rb create mode 100644 app/helpers/viajes_helper.rb create mode 100644 app/models/viaje.rb create mode 100644 app/views/viajes/_form.html.erb create mode 100644 app/views/viajes/edit.html.erb create mode 100644 app/views/viajes/index.html.erb create mode 100644 app/views/viajes/new.html.erb create mode 100644 app/views/viajes/show.html.erb create mode 100644 db/migrate/20111214093914_create_viajes.rb create mode 100644 test/fixtures/viajes.yml create mode 100644 test/functional/viajes_controller_test.rb create mode 100644 test/unit/helpers/viajes_helper_test.rb create mode 100644 test/unit/viaje_test.rb diff --git a/app/assets/javascripts/viajes.js.coffee b/app/assets/javascripts/viajes.js.coffee new file mode 100644 index 0000000..7615679 --- /dev/null +++ b/app/assets/javascripts/viajes.js.coffee @@ -0,0 +1,3 @@ +# Place all the behaviors and hooks related to the matching controller here. +# All this logic will automatically be available in application.js. +# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/ diff --git a/app/assets/stylesheets/viajes.css.scss b/app/assets/stylesheets/viajes.css.scss new file mode 100644 index 0000000..8888794 --- /dev/null +++ b/app/assets/stylesheets/viajes.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the Viajes controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/controllers/sites_controller.rb b/app/controllers/sites_controller.rb index 78c2b45..e7d86c0 100644 --- a/app/controllers/sites_controller.rb +++ b/app/controllers/sites_controller.rb @@ -8,8 +8,10 @@ def index # -> si la condición es falsa el path es: /types/id/sites if params[:type_id].nil? or params[:type_id].empty? @sites = Site.all + else @sites = Type.find(params[:type_id]).sites + @type = Type.find(params[:type_id]).name end diff --git a/app/controllers/viajes_controller.rb b/app/controllers/viajes_controller.rb new file mode 100644 index 0000000..4ae60e8 --- /dev/null +++ b/app/controllers/viajes_controller.rb @@ -0,0 +1,83 @@ +class ViajesController < ApplicationController + # GET /viajes + # GET /viajes.json + def index + @viajes = Viaje.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @viajes } + end + end + + # GET /viajes/1 + # GET /viajes/1.json + def show + @viaje = Viaje.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @viaje } + end + end + + # GET /viajes/new + # GET /viajes/new.json + def new + @viaje = Viaje.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @viaje } + end + end + + # GET /viajes/1/edit + def edit + @viaje = Viaje.find(params[:id]) + end + + # POST /viajes + # POST /viajes.json + def create + @viaje = Viaje.new(params[:viaje]) + + respond_to do |format| + if @viaje.save + format.html { redirect_to @viaje, notice: 'Viaje was successfully created.' } + format.json { render json: @viaje, status: :created, location: @viaje } + else + format.html { render action: "new" } + format.json { render json: @viaje.errors, status: :unprocessable_entity } + end + end + end + + # PUT /viajes/1 + # PUT /viajes/1.json + def update + @viaje = Viaje.find(params[:id]) + + respond_to do |format| + if @viaje.update_attributes(params[:viaje]) + format.html { redirect_to @viaje, notice: 'Viaje was successfully updated.' } + format.json { head :ok } + else + format.html { render action: "edit" } + format.json { render json: @viaje.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /viajes/1 + # DELETE /viajes/1.json + def destroy + @viaje = Viaje.find(params[:id]) + @viaje.destroy + + respond_to do |format| + format.html { redirect_to viajes_url } + format.json { head :ok } + end + end +end diff --git a/app/helpers/viajes_helper.rb b/app/helpers/viajes_helper.rb new file mode 100644 index 0000000..232bd8c --- /dev/null +++ b/app/helpers/viajes_helper.rb @@ -0,0 +1,2 @@ +module ViajesHelper +end diff --git a/app/models/viaje.rb b/app/models/viaje.rb new file mode 100644 index 0000000..0fd721a --- /dev/null +++ b/app/models/viaje.rb @@ -0,0 +1,2 @@ +class Viaje < ActiveRecord::Base +end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 8461cc2..db357e5 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -14,10 +14,24 @@
    -<%= link_to "Sitios", sites_path %>
    -<%= link_to "Tipos", types_path %>
    -<%=link_to('Home', planet_index_path) %>
    <%=link_to('Contact', planet_contact_path) %>
    <%=link_to('Ejemplo', planet_ejemplo_path) %>
    <%=link_to('Author', planet_author_path) %> +
    +
    <%= link_to "Sitios", sites_path %>
    +
    <%= link_to "Tipos", types_path %>
    + + <% @types= Type.all %> + + + <% for i in 0 ..@types.count-1 do %> +
    <%= link_to @types[i].name, types_path+"/"+(i+1).to_s+"/"+"sites" %>
    + <% end %> + + +
    <%=link_to('Home', planet_index_path) %>
    +
    <%=link_to('Contact', planet_contact_path) %>
    +
    <%=link_to('Ejemplo', planet_ejemplo_path) %>
    +
    <%=link_to('Author', planet_author_path) %>
    +
    <%= yield %> diff --git a/app/views/sites/index.html.erb b/app/views/sites/index.html.erb index bf9ddfb..1dc8589 100644 --- a/app/views/sites/index.html.erb +++ b/app/views/sites/index.html.erb @@ -1,6 +1,11 @@
    -

    Listing sites

    +<% if params[:type_id].nil? or params[:type_id].empty? %> +

    Todos Los Sitios

    +<% else type_id=params[:type_id] %> + +

    <%= @type %>

    +<% end %> <% @sites.each do |site| %> diff --git a/app/views/viajes/_form.html.erb b/app/views/viajes/_form.html.erb new file mode 100644 index 0000000..9f2c978 --- /dev/null +++ b/app/views/viajes/_form.html.erb @@ -0,0 +1,21 @@ +<%= form_for(@viaje) do |f| %> + <% if @viaje.errors.any? %> +
    +

    <%= pluralize(@viaje.errors.count, "error") %> prohibited this viaje from being saved:

    + +
      + <% @viaje.errors.full_messages.each do |msg| %> +
    • <%= msg %>
    • + <% end %> +
    +
    + <% end %> + +
    + <%= f.label :site_id %>
    + <%= f.number_field :site_id %> +
    +
    + <%= f.submit %> +
    +<% end %> diff --git a/app/views/viajes/edit.html.erb b/app/views/viajes/edit.html.erb new file mode 100644 index 0000000..7e205b9 --- /dev/null +++ b/app/views/viajes/edit.html.erb @@ -0,0 +1,6 @@ +

    Editing viaje

    + +<%= render 'form' %> + +<%= link_to 'Show', @viaje %> | +<%= link_to 'Back', viajes_path %> diff --git a/app/views/viajes/index.html.erb b/app/views/viajes/index.html.erb new file mode 100644 index 0000000..5a0f9fe --- /dev/null +++ b/app/views/viajes/index.html.erb @@ -0,0 +1,23 @@ +

    Listing viajes

    + +
    + + + + + + + +<% @viajes.each do |viaje| %> + + + + + + +<% end %> +
    Site
    <%= viaje.site_id %><%= link_to 'Show', viaje %><%= link_to 'Edit', edit_viaje_path(viaje) %><%= link_to 'Destroy', viaje, confirm: 'Are you sure?', method: :delete %>
    + +
    + +<%= link_to 'New Viaje', new_viaje_path %> diff --git a/app/views/viajes/new.html.erb b/app/views/viajes/new.html.erb new file mode 100644 index 0000000..28faa86 --- /dev/null +++ b/app/views/viajes/new.html.erb @@ -0,0 +1,5 @@ +

    New viaje

    + +<%= render 'form' %> + +<%= link_to 'Back', viajes_path %> diff --git a/app/views/viajes/show.html.erb b/app/views/viajes/show.html.erb new file mode 100644 index 0000000..a99595a --- /dev/null +++ b/app/views/viajes/show.html.erb @@ -0,0 +1,10 @@ +

    <%= notice %>

    + +

    + Site: + <%= @viaje.site_id %> +

    + + +<%= link_to 'Edit', edit_viaje_path(@viaje) %> | +<%= link_to 'Back', viajes_path %> diff --git a/config/routes.rb b/config/routes.rb index 52f7907..6104505 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,6 +1,8 @@ Planet::Application.routes.draw do + resources :viajes + resources :types do resources:sites end diff --git a/db/migrate/20111214093914_create_viajes.rb b/db/migrate/20111214093914_create_viajes.rb new file mode 100644 index 0000000..2753377 --- /dev/null +++ b/db/migrate/20111214093914_create_viajes.rb @@ -0,0 +1,9 @@ +class CreateViajes < ActiveRecord::Migration + def change + create_table :viajes do |t| + t.integer :site_id + + t.timestamps + end + end +end diff --git a/test/fixtures/viajes.yml b/test/fixtures/viajes.yml new file mode 100644 index 0000000..e8b96b3 --- /dev/null +++ b/test/fixtures/viajes.yml @@ -0,0 +1,7 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + site_id: 1 + +two: + site_id: 1 diff --git a/test/functional/viajes_controller_test.rb b/test/functional/viajes_controller_test.rb new file mode 100644 index 0000000..bbf4cb9 --- /dev/null +++ b/test/functional/viajes_controller_test.rb @@ -0,0 +1,49 @@ +require 'test_helper' + +class ViajesControllerTest < ActionController::TestCase + setup do + @viaje = viajes(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:viajes) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create viaje" do + assert_difference('Viaje.count') do + post :create, viaje: @viaje.attributes + end + + assert_redirected_to viaje_path(assigns(:viaje)) + end + + test "should show viaje" do + get :show, id: @viaje.to_param + assert_response :success + end + + test "should get edit" do + get :edit, id: @viaje.to_param + assert_response :success + end + + test "should update viaje" do + put :update, id: @viaje.to_param, viaje: @viaje.attributes + assert_redirected_to viaje_path(assigns(:viaje)) + end + + test "should destroy viaje" do + assert_difference('Viaje.count', -1) do + delete :destroy, id: @viaje.to_param + end + + assert_redirected_to viajes_path + end +end diff --git a/test/unit/helpers/viajes_helper_test.rb b/test/unit/helpers/viajes_helper_test.rb new file mode 100644 index 0000000..11d37c6 --- /dev/null +++ b/test/unit/helpers/viajes_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class ViajesHelperTest < ActionView::TestCase +end diff --git a/test/unit/viaje_test.rb b/test/unit/viaje_test.rb new file mode 100644 index 0000000..d46b5ab --- /dev/null +++ b/test/unit/viaje_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class ViajeTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end From e3a05f377fe7fff61d4cbfe58c9b4ee696520266 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20H=2E=20Baz=C3=A1n?= Date: Wed, 14 Dec 2011 14:10:05 +0100 Subject: [PATCH 08/13] modificado vistas v1 --- app/controllers/planet_controller.rb | 3 +++ app/controllers/viajes_controller.rb | 2 +- app/models/site.rb | 1 + app/models/viaje.rb | 1 + app/views/layouts/application.html.erb | 2 +- app/views/viajes/show.html.erb | 21 +++++++++++++++++---- config/routes.rb | 2 ++ db/schema.rb | 8 +++++++- 8 files changed, 33 insertions(+), 7 deletions(-) diff --git a/app/controllers/planet_controller.rb b/app/controllers/planet_controller.rb index 6917147..3c7cfa9 100644 --- a/app/controllers/planet_controller.rb +++ b/app/controllers/planet_controller.rb @@ -13,4 +13,7 @@ def ejemplo def author end +#GET /planet/viajes + def viaje + end end diff --git a/app/controllers/viajes_controller.rb b/app/controllers/viajes_controller.rb index 4ae60e8..ef9704e 100644 --- a/app/controllers/viajes_controller.rb +++ b/app/controllers/viajes_controller.rb @@ -14,7 +14,7 @@ def index # GET /viajes/1.json def show @viaje = Viaje.find(params[:id]) - + @sitio = Site.find(@viaje.site_id) respond_to do |format| format.html # show.html.erb format.json { render json: @viaje } diff --git a/app/models/site.rb b/app/models/site.rb index 121eb07..0fb2a80 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -1,3 +1,4 @@ class Site < ActiveRecord::Base belongs_to:type +belongs_to:viaje end diff --git a/app/models/viaje.rb b/app/models/viaje.rb index 0fd721a..5ae501c 100644 --- a/app/models/viaje.rb +++ b/app/models/viaje.rb @@ -1,2 +1,3 @@ class Viaje < ActiveRecord::Base +has_many:site end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index db357e5..b5bacbb 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -26,7 +26,7 @@
    <%= link_to @types[i].name, types_path+"/"+(i+1).to_s+"/"+"sites" %>
    <% end %> - +
    <%= link_to "Viaje", viajes_path %>
    <%=link_to('Home', planet_index_path) %>
    <%=link_to('Contact', planet_contact_path) %>
    <%=link_to('Ejemplo', planet_ejemplo_path) %>
    diff --git a/app/views/viajes/show.html.erb b/app/views/viajes/show.html.erb index a99595a..0ef36bc 100644 --- a/app/views/viajes/show.html.erb +++ b/app/views/viajes/show.html.erb @@ -1,9 +1,22 @@

    <%= notice %>

    -

    - Site: - <%= @viaje.site_id %> -

    +
    +

    <%= @sitio.name if @sitio.name %>

    + <%= image_tag(@sitio.image_url, :class => 'site_image') %> +

    <%= @sitio.name %>

    + +

    <%=sanitize @sitio.description %>

    +
    + + Latitude: + <%= @sitio.latitude %> + + + Longitude: + <%= @sitio.longitude %> + +
    +
    <%= link_to 'Edit', edit_viaje_path(@viaje) %> | diff --git a/config/routes.rb b/config/routes.rb index 6104505..f1607b5 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -17,6 +17,8 @@ #añadimos la nueva ruta pedida para la entrega get "planet/author" +#añadimos la nueva ruta para encontrar viaje + # get "planet/viaje" # The priority is based upon order of creation: # first created -> highest priority. diff --git a/db/schema.rb b/db/schema.rb index ef3c93c..40b9420 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20111211203633) do +ActiveRecord::Schema.define(:version => 20111214093914) do create_table "sites", :force => true do |t| t.string "name" @@ -32,4 +32,10 @@ t.datetime "updated_at" end + create_table "viajes", :force => true do |t| + t.integer "site_id" + t.datetime "created_at" + t.datetime "updated_at" + end + end From 1359c2512fe95561c86c08c6643f8c0f41f3969b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20H=2E=20Baz=C3=A1n?= Date: Thu, 15 Dec 2011 22:53:05 +0100 Subject: [PATCH 09/13] =?UTF-8?q?boton=20a=C3=B1adir=20sitio=20a=20viaje?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/assets/images/ciudad-real.jpg | Bin 0 -> 23148 bytes "app/assets/images/monta\303\261a.jpg" | Bin 0 -> 25733 bytes app/assets/stylesheets/planet.css | 12 +++++++++--- app/controllers/sites_controller.rb | 1 + app/controllers/viajes_controller.rb | 13 ++++++++++--- app/views/layouts/application.html.erb | 1 + app/views/sites/index.html.erb | 9 ++++++++- app/views/sites/show.html.erb | 13 +++++++++++++ app/views/types/index.html.erb | 4 +--- app/views/viajes/index.html.erb | 5 ++--- 10 files changed, 45 insertions(+), 13 deletions(-) create mode 100644 app/assets/images/ciudad-real.jpg create mode 100644 "app/assets/images/monta\303\261a.jpg" diff --git a/app/assets/images/ciudad-real.jpg b/app/assets/images/ciudad-real.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9b09d4c6b7df343337f9b28914dab7d62a4d7ab9 GIT binary patch literal 23148 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 literal 0 HcmV?d00001 diff --git a/app/assets/stylesheets/planet.css b/app/assets/stylesheets/planet.css index 3ac3a81..7cb655c 100755 --- a/app/assets/stylesheets/planet.css +++ b/app/assets/stylesheets/planet.css @@ -76,9 +76,9 @@ color: #222266; margin: 0; } #site_list .list_description dt { -! color: #244; -! font-weight: bold; -! font-size: larger; + color: #244; + font-weight: bold; + font-size: larger; } #site_list .list_description dd { margin: 0; @@ -98,5 +98,11 @@ div#columns div#main div#site_list table tbody tr.list_line_odd td.list_descript color: #BBFFBB; font-size: small; } +div#columns div#main div#site a { +float:right; +font-size:medium; +padding-right:2em; + +} diff --git a/app/controllers/sites_controller.rb b/app/controllers/sites_controller.rb index e7d86c0..20edd7b 100644 --- a/app/controllers/sites_controller.rb +++ b/app/controllers/sites_controller.rb @@ -26,6 +26,7 @@ def index def show @site = Site.find(params[:id]) +@viaje = Viaje.find(2) respond_to do |format| format.html # show.html.erb diff --git a/app/controllers/viajes_controller.rb b/app/controllers/viajes_controller.rb index ef9704e..dad338b 100644 --- a/app/controllers/viajes_controller.rb +++ b/app/controllers/viajes_controller.rb @@ -3,7 +3,7 @@ class ViajesController < ApplicationController # GET /viajes.json def index @viajes = Viaje.all - + @sitios = Site.all respond_to do |format| format.html # index.html.erb format.json { render json: @viajes } @@ -37,11 +37,18 @@ def edit @viaje = Viaje.find(params[:id]) end - # POST /viajes + + +# POST /viajes # POST /viajes.json + + def create +if params[:site_id].nil? @viaje = Viaje.new(params[:viaje]) - +else + @viaje = Viaje.new(params[:site_id]) +end respond_to do |format| if @viaje.save format.html { redirect_to @viaje, notice: 'Viaje was successfully created.' } diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index b5bacbb..cf23592 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -4,6 +4,7 @@ Planet Travel Site <%= stylesheet_link_tag "scaffold" %> <%= stylesheet_link_tag "planet" %> +<%= javascript_include_tag 'application.js', 'jquery.min.js', 'rails.js' %> <%= javascript_include_tag :defaults %> <%= csrf_meta_tags %> diff --git a/app/views/sites/index.html.erb b/app/views/sites/index.html.erb index 1dc8589..8fd76e6 100644 --- a/app/views/sites/index.html.erb +++ b/app/views/sites/index.html.erb @@ -16,7 +16,14 @@
    - <%= link_to site.name, site %>
    + <%= link_to site.name, site %> +<%= form_for site, :url => {:controller=>"viajes", :action => "create"} do |f| %> +<%= hidden_field_tag(:"viaje[site_id]", site.id) %> +<%= hidden_field_tag(:_method, "POST") %> + + <%= f.submit "Add to Viaje" %> +<% end %> +
    <%= truncate(strip_tags(site.description), :length => 80) %>
    diff --git a/app/views/sites/show.html.erb b/app/views/sites/show.html.erb index bb19d45..3c58331 100644 --- a/app/views/sites/show.html.erb +++ b/app/views/sites/show.html.erb @@ -1,6 +1,19 @@

    <%= @site.type.name if @site.type %>

    <%= image_tag(@site.image_url, :class => 'site_image') %> + +<%= form_for @site, :url => {:controller=>"viajes", :action => "create"} do |f| %> + <%= f.label :sitio_id %> + + +<%= hidden_field_tag(:"viaje[site_id]", @site.id) %> +<%= hidden_field_tag(:_method, "POST") %> + + <%= f.submit "Add to Viaje" %> +<% end %> + + +<%= link_to 'Añadir a viaje', new_viaje_path%>

    <%= @site.name %>

    <%=sanitize @site.description %>

    diff --git a/app/views/types/index.html.erb b/app/views/types/index.html.erb index 111344e..ed9a513 100644 --- a/app/views/types/index.html.erb +++ b/app/views/types/index.html.erb @@ -16,9 +16,7 @@ <%= link_to 'Show', type %>
    <%= link_to 'Edit', edit_type_path(type) %>
    - <%= link_to 'Destroy', type, - :confirm => 'Are you sure?', - :method => :delete %> + <%= link_to("Destroy", type, :confirm => "Are you sure?", :method => :delete) %> <% end %> diff --git a/app/views/viajes/index.html.erb b/app/views/viajes/index.html.erb index 5a0f9fe..1e71798 100644 --- a/app/views/viajes/index.html.erb +++ b/app/views/viajes/index.html.erb @@ -1,5 +1,4 @@

    Listing viajes

    - @@ -9,8 +8,8 @@ <% @viajes.each do |viaje| %> - - + <%sitio = Site.find(viaje.site_id) %> + From 51ec5fa1dfd0bddad1c5f1ea918a1a2445778842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20H=2E=20Baz=C3=A1n?= Date: Sat, 17 Dec 2011 13:19:06 +0100 Subject: [PATCH 10/13] =?UTF-8?q?a=C3=B1adido=20col.=20orden=20y=20mostrar?= =?UTF-8?q?=20viaje=20ordenado?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/sites/index.html.erb | 6 ++++-- app/views/viajes/index.html.erb | 8 ++++++++ db/migrate/20111214093914_create_viajes.rb | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/app/views/sites/index.html.erb b/app/views/sites/index.html.erb index 8fd76e6..afb1e35 100644 --- a/app/views/sites/index.html.erb +++ b/app/views/sites/index.html.erb @@ -1,8 +1,9 @@ +
    <% if params[:type_id].nil? or params[:type_id].empty? %> -

    Todos Los Sitios

    -<% else type_id=params[:type_id] %> +

    Todos Los Sitios

    +<% @num else type_id=params[:type_id] %>

    <%= @type %>

    <% end %> @@ -19,6 +20,7 @@ <%= link_to site.name, site %> <%= form_for site, :url => {:controller=>"viajes", :action => "create"} do |f| %> <%= hidden_field_tag(:"viaje[site_id]", site.id) %> +<%= hidden_field_tag(:"viaje[orden]", @num_orden_sig) %> <%= hidden_field_tag(:_method, "POST") %> <%= f.submit "Add to Viaje" %> diff --git a/app/views/viajes/index.html.erb b/app/views/viajes/index.html.erb index 1e71798..875ed6c 100644 --- a/app/views/viajes/index.html.erb +++ b/app/views/viajes/index.html.erb @@ -9,6 +9,14 @@ <% @viajes.each do |viaje| %>
    <%sitio = Site.find(viaje.site_id) %> + + diff --git a/db/migrate/20111214093914_create_viajes.rb b/db/migrate/20111214093914_create_viajes.rb index 2753377..2669871 100644 --- a/db/migrate/20111214093914_create_viajes.rb +++ b/db/migrate/20111214093914_create_viajes.rb @@ -2,6 +2,7 @@ class CreateViajes < ActiveRecord::Migration def change create_table :viajes do |t| t.integer :site_id + t.integer :orden t.timestamps end From 287d575a248bb63568411223283f96813eaff229 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20H=2E=20Baz=C3=A1n?= Date: Sat, 17 Dec 2011 13:19:06 +0100 Subject: [PATCH 11/13] =?UTF-8?q?a=C3=B1adido=20col.=20orden=20y=20mostrar?= =?UTF-8?q?=20viaje=20ordenado?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/sites_controller.rb | 4 ++-- app/controllers/viajes_controller.rb | 11 +++++++++-- app/views/sites/index.html.erb | 6 ++++-- app/views/viajes/index.html.erb | 8 ++++++++ db/migrate/20111214093914_create_viajes.rb | 1 + 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/app/controllers/sites_controller.rb b/app/controllers/sites_controller.rb index 20edd7b..8e7ca47 100644 --- a/app/controllers/sites_controller.rb +++ b/app/controllers/sites_controller.rb @@ -3,12 +3,12 @@ class SitesController < ApplicationController # GET /sites.json def index - +@num_orden_sig = Viaje.all.count+1 # Se incluye @site = Site.all dentro de esta sentencia if-else-end # -> si la condición es falsa el path es: /types/id/sites if params[:type_id].nil? or params[:type_id].empty? @sites = Site.all - + else @sites = Type.find(params[:type_id]).sites @type = Type.find(params[:type_id]).name diff --git a/app/controllers/viajes_controller.rb b/app/controllers/viajes_controller.rb index dad338b..ddc4629 100644 --- a/app/controllers/viajes_controller.rb +++ b/app/controllers/viajes_controller.rb @@ -44,14 +44,21 @@ def edit def create + @orden_sig = (Viaje.all.count+1) if params[:site_id].nil? @viaje = Viaje.new(params[:viaje]) else - @viaje = Viaje.new(params[:site_id]) +if params[:orden]==@orden_sig + @viaje = Viaje.new(params[:viaje]) +else + params[:orden]= @orden_sig +@viaje = Viaje.new(params[:viaje]) + # @viaje = Viaje.new(:site_id =>params[:viaje][:site_id], :orden => (Viaje.all.count+1)) +end end respond_to do |format| if @viaje.save - format.html { redirect_to @viaje, notice: 'Viaje was successfully created.' } + format.html { redirect_to @viaje, notice: 'Viaje was successfully created. Order: '+ @orden_sig.to_s } format.json { render json: @viaje, status: :created, location: @viaje } else format.html { render action: "new" } diff --git a/app/views/sites/index.html.erb b/app/views/sites/index.html.erb index 8fd76e6..afb1e35 100644 --- a/app/views/sites/index.html.erb +++ b/app/views/sites/index.html.erb @@ -1,8 +1,9 @@ +
    <% if params[:type_id].nil? or params[:type_id].empty? %> -

    Todos Los Sitios

    -<% else type_id=params[:type_id] %> +

    Todos Los Sitios

    +<% @num else type_id=params[:type_id] %>

    <%= @type %>

    <% end %> @@ -19,6 +20,7 @@ <%= link_to site.name, site %> <%= form_for site, :url => {:controller=>"viajes", :action => "create"} do |f| %> <%= hidden_field_tag(:"viaje[site_id]", site.id) %> +<%= hidden_field_tag(:"viaje[orden]", @num_orden_sig) %> <%= hidden_field_tag(:_method, "POST") %> <%= f.submit "Add to Viaje" %> diff --git a/app/views/viajes/index.html.erb b/app/views/viajes/index.html.erb index 1e71798..875ed6c 100644 --- a/app/views/viajes/index.html.erb +++ b/app/views/viajes/index.html.erb @@ -9,6 +9,14 @@ <% @viajes.each do |viaje| %>
    <%sitio = Site.find(viaje.site_id) %> + + diff --git a/db/migrate/20111214093914_create_viajes.rb b/db/migrate/20111214093914_create_viajes.rb index 2753377..2669871 100644 --- a/db/migrate/20111214093914_create_viajes.rb +++ b/db/migrate/20111214093914_create_viajes.rb @@ -2,6 +2,7 @@ class CreateViajes < ActiveRecord::Migration def change create_table :viajes do |t| t.integer :site_id + t.integer :orden t.timestamps end From 80e1cc56dba7be7e7bf375aa9e2e14dee6c424eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20H=2E=20Baz=C3=A1n?= Date: Sat, 17 Dec 2011 21:54:50 +0100 Subject: [PATCH 12/13] cambiar orden de sitios de viaje implementado --- app/controllers/sites_controller.rb | 2 +- app/controllers/viajes_controller.rb | 28 +++++++++++++++++++++------- app/views/viajes/_form.html.erb | 13 +++++++++++-- app/views/viajes/index.html.erb | 10 ++-------- 4 files changed, 35 insertions(+), 18 deletions(-) diff --git a/app/controllers/sites_controller.rb b/app/controllers/sites_controller.rb index 8e7ca47..ae14e52 100644 --- a/app/controllers/sites_controller.rb +++ b/app/controllers/sites_controller.rb @@ -26,7 +26,7 @@ def index def show @site = Site.find(params[:id]) -@viaje = Viaje.find(2) + respond_to do |format| format.html # show.html.erb diff --git a/app/controllers/viajes_controller.rb b/app/controllers/viajes_controller.rb index ddc4629..b5308e5 100644 --- a/app/controllers/viajes_controller.rb +++ b/app/controllers/viajes_controller.rb @@ -2,7 +2,7 @@ class ViajesController < ApplicationController # GET /viajes # GET /viajes.json def index - @viajes = Viaje.all + @viajes = Viaje.find(:all, :order =>"orden") @sitios = Site.all respond_to do |format| format.html # index.html.erb @@ -70,25 +70,39 @@ def create # PUT /viajes/1 # PUT /viajes/1.json def update - @viaje = Viaje.find(params[:id]) - +#if params[:site_id]!=nil #si site_id no es nil ... +@orden_new = params[:viaje][:orden] +@orden_old = params[:viaje][:orden_old] + @viaje_old = Viaje.find_by_orden(@orden_new) + @viaje = Viaje.find(params[:id]) #al que modifico pongo orden que me envian y al viaje_old le pongo el orden del actual + respond_to do |format| - if @viaje.update_attributes(params[:viaje]) - format.html { redirect_to @viaje, notice: 'Viaje was successfully updated.' } + if (@viaje.update_attributes(:orden => @orden_new) and @viaje_old.update_attributes(:orden => @orden_old)) + # if @viaje.update_attributes(params[:viaje]) + format.html { redirect_to @viaje, notice: 'Viaje was successfully updated. Order Changed--> ' + 'new order: '+@orden_new.to_s} format.json { head :ok } else format.html { render action: "edit" } format.json { render json: @viaje.errors, status: :unprocessable_entity } end end - end + + +end # DELETE /viajes/1 # DELETE /viajes/1.json def destroy @viaje = Viaje.find(params[:id]) - @viaje.destroy + @orden = @viaje.orden #al borrar hay que reordenar los sitios del viaje +@resto_sitios = Viaje.where("orden > ?", @orden) +@viaje.destroy +@resto_sitios.each do |viaje| + +viaje.update_attributes(:orden => @orden) +@orden = @orden+1 +end respond_to do |format| format.html { redirect_to viajes_url } format.json { head :ok } diff --git a/app/views/viajes/_form.html.erb b/app/views/viajes/_form.html.erb index 9f2c978..894d377 100644 --- a/app/views/viajes/_form.html.erb +++ b/app/views/viajes/_form.html.erb @@ -12,9 +12,18 @@ <% end %>
    - <%= f.label :site_id %>
    - <%= f.number_field :site_id %> + +<%= hidden_field_tag(:"viaje[site_id]", @viaje.site_id) %> +<% @sitio = Site.find(@viaje.site_id) %> +<%= @sitio.name %> +
    +
    + <%@prio = Viaje.find(:all, :select=>"orden") %> +<%= hidden_field_tag(:"viaje[orden_old]", @viaje.orden) %> + <%= f.collection_select(:orden, @prio, :orden, :orden) %> + orden +
    <%= f.submit %>
    diff --git a/app/views/viajes/index.html.erb b/app/views/viajes/index.html.erb index 875ed6c..6671b39 100644 --- a/app/views/viajes/index.html.erb +++ b/app/views/viajes/index.html.erb @@ -9,14 +9,8 @@ <% @viajes.each do |viaje| %>
    <%sitio = Site.find(viaje.site_id) %> - - + + From 9fcf5f9444cbe5a407c153ea3d966597f4cb8136 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Victor=20H=2E=20Baz=C3=A1n?= Date: Sat, 17 Dec 2011 22:15:52 +0100 Subject: [PATCH 13/13] eliminada vista new y link new viaje --- app/views/viajes/index.html.erb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/views/viajes/index.html.erb b/app/views/viajes/index.html.erb index 6671b39..b846a55 100644 --- a/app/views/viajes/index.html.erb +++ b/app/views/viajes/index.html.erb @@ -13,7 +13,7 @@ - + <% end %> @@ -21,4 +21,3 @@
    -<%= link_to 'New Viaje', new_viaje_path %>
    Site
    <%= viaje.site_id %>
    <%= sitio.name %> <%= link_to 'Show', viaje %> <%= link_to 'Edit', edit_viaje_path(viaje) %> <%= link_to 'Destroy', viaje, confirm: 'Are you sure?', method: :delete %>
    +<%= form_for viaje do |f| %> + <%@prio = Viaje.find(:all, :select=>"orden") %> +<%= hidden_field_tag(:"viaje[orden_old]", viaje.orden) %> + <%= f.collection_select(:orden, @prio, :orden, :orden) %> + <%= f.submit "Change order"%> +<% end %> <%= sitio.name %> <%= link_to 'Show', viaje %> <%= link_to 'Edit', edit_viaje_path(viaje) %>
    +<%= form_for viaje do |f| %> + <%@prio = Viaje.find(:all, :select=>"orden") %> +<%= hidden_field_tag(:"viaje[orden_old]", viaje.orden) %> + <%= f.collection_select(:orden, @prio, :orden, :orden) %> + <%= f.submit "Change order"%> +<% end %> <%= sitio.name %> <%= link_to 'Show', viaje %> <%= link_to 'Edit', edit_viaje_path(viaje) %>
    -<%= form_for viaje do |f| %> - <%@prio = Viaje.find(:all, :select=>"orden") %> -<%= hidden_field_tag(:"viaje[orden_old]", viaje.orden) %> - <%= f.collection_select(:orden, @prio, :orden, :orden) %> - <%= f.submit "Change order"%> -<% end %><%= viaje.orden %><%= sitio.name %> <%= link_to 'Show', viaje %> <%= link_to 'Edit', edit_viaje_path(viaje) %><%= sitio.name %> <%= link_to 'Show', viaje %><%= link_to 'Edit', edit_viaje_path(viaje) %><%= link_to 'Change order', edit_viaje_path(viaje) %> <%= link_to 'Destroy', viaje, confirm: 'Are you sure?', method: :delete %>