Introducción a rails 3!
|
|
- Ángela Herrero Toledo
- hace 8 años
- Vistas:
Transcripción
1 Introducción a rails 3 Rails es un framework de desarrollo de aplicaciones web escrito en el lenguaje Ruby. Está diseñado para hacer la programación de aplicaciones web más fácil al hacer suposiciones acerca de lo que necesita cada desarrollador para empezar. Se permite escribir menos código en contraste de muchos otros lenguajes y frameworks. Desarrolladores experimentados de Rails también informan que hace que el desarrollo de aplicaciones web más divertida. Una cosa muy importante al utilizar rails para el desarrollo es que se basa en el principio de Convención sobre configuración, por lo cual es muy importante cumplir con los estándares. Instalación de rails - Mac OS X y Linux: Para estas dos plataformas se recomia el uso de RVM para tener multiples versiones de ruby en un mismo equipo, para esto simplemente utilizamos el comando en terminal: user$ \curl -ssl sudo bash -s stable Para más información, favor de consultar el sitio oficial - Windows: En el caso de Windows se recomia el utilizar RubyInstaller railsinstaller.org/en que es un ejecutable. Creando una aplicación de ejemplo Antes de empezar, debemos revisar si está instalado ruby y rails para poder comenzar, para esto corremos el comando en terminal que nos dará nuestra versión de ruby. $ ruby - v En caso de recibir el mensaje de que no existe ruby, favor de proceder a su instalación. Una vez hecho esto, podemos comenzar. $ gem install rails El primer paso es instalar rails, lo cual se logra con el siguiente comando: Una vez finalizado este proceso procedemos a crear nuestra aplicación. $ rails new blog - d mysql Nota: En caso de no indicarse -d mysql se usará sqlite3 por default y blog es nuestro nombre de proyecto. Nota2: Si se tienen multiples versiones de rails, se puede especificar de la siguiente manera rails _3.2.9_ new myapp.
2 Lo anterior nos creará una estructura como esta: Con lo cual nuestro proyecto estará creado y casi listo para iniciar. A continuación tenemos que modificar nuestro archivo de base de datos, para lo cual abrimos el archivo blog/config/database.yml que se verá algo así. Ahora, sólo nos falta que modifiquemos los valores para que correspondan con los de nuestro sistema.
3 Una vez modificado nuestro archivo de base de datos, procedemos a desde la terminal ingresar a la carpeta de nuestro proyecto y ya podemos iniciarlo con el comando. $ rails server Lo cual iniciará nuestra aplicación en un servidor incluido con rails y nos colocará en el puerto 3000 nuestra web para que probemos. Obviamente nuestra aplicación aún no hace nada, pero por lo menos ya tenemos nuestra página de inicio. Ahora es momento de revisar todas nuestras carpetas y archivos para ver que encontraremos en cada uno. Carpeta/Archivo Propósito app/ bin/ config/ config.ru db/ Contiene los controladores, modelos, vistas, helpers, mailers y assets para nuestra aplicación. La mayoría del trabajo se hace aquí. Contiene los scripts de rails que inician la app y pueden contener otros scripts que se usen para deplorar o correr la app. Configura tu aplicación, ya sea de rutas, bases de datos, etc. Configuración para servidores basados en Rack utilizados para iniciar la aplicación Contiene tu esquema de base de datos, así como las migraciones
4 Carpeta/Archivo Gemfile y Gemfile.lock lib/ log/ public/ Rakefile README.rdoc test/ tmp/ Propósito Estos archivos nos permiten especificar que gemas queremos incluir en nuestra aplicación rails. Aqui se colocan modulos apra la aplicación. Contiene los archivos de log. Esta debe ser la única carpeta visible por el mundo, contiene archivos estáticos y los assets compilados. Localiza y carga las tareas que pueden ser ejecutadas desde la linea de comandos. Las definiciones de tareas son definidas agraves de componentes de Rails (No se debe modificar). Breve documentación sobre la aplicación. Destinada para el uso de pruebas. Contiene archivos temporales como sesiones entre otros. vor/ Todo el código de terceros se include aquí. Bueno, pues ahora el siguen paso es cambiar nuestra pantalla de inicio, para lo cual vamos a crear un nuevo controlador con una acción. Para esto, en nuestra terminal ejecutamos el comando: $ rails generate controller welcome index Con esto rails creará muchos archivos y agregará una ruta al archivo de rutas: create app/controllers/welcome_controller.rb route get 'welcome/index' invoke erb create app/views/welcome create app/views/welcome/index.html.erb invoke test_unit create test/controllers/welcome_controller_test.rb invoke helper create app/helpers/welcome_helper.rb invoke test_unit create test/helpers/welcome_helper_test.rb invoke assets invoke coffee create app/assets/javascripts/welcome.js.coffee invoke scss create app/assets/stylesheets/welcome.css.scss Los que por ahora nos interesan son app/controllers/welcome_controller.rb y app/views/ welcome/index.html.erb que contienen nuestro controlador y nuestra vista respectivamente.
5 Abrimos nuestra vista app/views/welcome/index.html.erb y modifiquemos nuestro código para tener nuestro hello rails. <h1>hello, Rails</h1> Y ahora. Configuramos nuestra página de inicio Para lo cual abrimos nuestro archivo de rutas config/routes.rb. Y veremos algo como esto: Rails.application.routes.draw do get 'welcome/index' # The priority is based upon order of creation: # first created - > highest priority. # # You can have the root of your site routed with "root" # root 'welcome#index' # #... Ahora simplemente agregamos esta linea con la que indicamos cual es nuestra ruta por default: root 'welcome#index' Lo anterior le dice a Rails que relacione el root de la aplicación a la acción index del controlador welcome y así mismo get 'welcome/index' le dice a Rails que relacione welcome/index a la acción index del controlador welcome. Por último nos resta borrar o renombrar el archivo public/index.html ya que Rails toma este por default. Y además tenemos que crear nuestra base de datos de desarrollo, para lo cual basta con ejecutar el comando: rake db:create Una vez echo esto, podemos iniciar de nuevo nuestra aplicación para ver el resultado.
6 Para la siguiente parte, vamos a comenzar a agregar, verdadera funcionalidad. Primero que nada empezaremos agregando un recurso a nuestro archivo de rutas, un recurso es el termino usado para hacer referencia a una colección de objetos similares, como artículos, personas o animales. Sobre los cuales se pueden ejecutar las operaciones CRUD (create, read, update and destroy). Ahora en nuestro archivo de rutas agregamos la siguiente linea: resources :articles Con lo cual se nos crearan algunas URLs, para ver las urls que tenemos, corremos el comando: rake routes Lo cual nos mostrará algo similar a esto: $ rake routes articles GET /articles(.:format) articles#index POST /articles(.:format) articles#create new_article GET /articles/new(.:format) articles#new edit_article GET /articles/:id/edit(.:format) articles#edit article GET /articles/:id(.:format) articles#show PUT /articles/:id(.:format) articles#update DELETE /articles/:id(.:format) articles#destroy welcome_index GET /welcome/index(.:format) welcome#index root / welcome#index Ahora, si intentamos acceder cualquier ruta de nuestro recurso, nos saldrán errores, ya que no existen ni los controladores, ni las acciones y tampoco las vistas necesarias. Pero esto es correcto por las razones antes mencionadas.
7 Ahora, para continuar vamos a crear nuestro controlador para el recurso de articles : $ rails g controller articles Con esto se generará nuestro controlador app/controllers/articles_controller.rb el ciar abrimos para empezar a trabajar y veremos algo así: class ArticlesController < ApplicationController Un controller no es otra cosa que una clase que hereda de ApplicationController, y es aquí donde trabajaremos con nuestros métodos CRUD. Ahora, si refrescamos la página veremos que el error cambia: Indicándonos ahora, que se desconoce la acción, ya que claro, no la hemos creado. Lo siguiente es definir esta acción, para lo cual en nuestro controller simplemente agregamos dentro de la clase: def new Y si de nuevo refrescamos, veremos que el error cambia de nuevo:
8 Básicamente esto nos dice que no se encuentra la vista correspondiente. que para este caso es articles/new, application/new, como podemos ver busca en dos directorios, esto es porque el primero es el del recurso y el segundo es el de la clase padre, es decir ApplicationController. Y formats:[:html] simplemente nos dice que espera un html que es el formato por default aunque puede ser reemplazado por otros como json. Ahora, para reparar esto, vamos a usar el template más simple, que sería app/views/articles/ new.html.erb, hay que notar la importancia de la extensión, ya que la primera extensión es el formato, y la segunda es el handler que será utilizado. Rails intenta encontrar un template llamado articles/new dentro de app/views para la aplicación. El formato para este template sólo puede ser html y el handler debe ser uno de erg, builder o coffee. Como queremos crear una nueva forma HTML, usaremos el lenguaje ERB. Por lo cual el archivo debe ser nombrado app/views/articles/new.html.erb y necesita estar en dicho directorio. Y simplemente agregamos esta linea y refrescamos. <h1>new Article</h1> El siguiente paso es crear nuestra primera forma, para lo cual utilizaremos un form builder que nos proporciona rails mediante un método helper llamado form_for. <%= form_for :article do f %> <%= f.label :title %><br> <%= f.text_field :title %> <%= f.label :text %><br> <%= f.text_area :text %> <%= f.submit %> <% %>
9 Si refrescamos la página veremos que ahora tenemos un formulario. Y aquí tenemos nuestro html. <form method="post" action="/articles/new" accept- charset="utf- 8"><div style="margin:0;padding: 0;display:inline"><input type="hidden" value=" " name="utf8"><input type="hidden" value="repzfbeklbiwionftznukpvfghtvd/fvxxun+ueecc4=" name="authenticity_token"></div> <label for="article_title">title</label><br> <input type="text" size="30" name="article[title]" id="article_title"> <label for="article_text">text</label><br> <textarea rows="20" name="article[text]" id="article_text" cols="40"></textarea> <input type="submit" value="save Article" name="commit"> </form> Cuando llamamos form_for, le pasamos un objeto identificador para la forma, en este caos el símbolo :article. Lo cual le dice al form_for para qué es este formulario. Dentro del bloque para este método, el FormBuilder representado por f is utilizado para construir dos labels y dos campos de texto, así como un botón de submit. Sin embargo como vemos en el HTML la url de acción no es la correcta según el estándar REST ya que debería hacer referencia a /articles utilizando el método POST. Para solucionar esto, simplemente hacemos este cambio: <%= form_for :article, url: articles_path do f %>
10 Esta URL nos la da rake routes como lo vimos anteriormente: $ rake routes articles GET /articles(.:format) articles#index POST /articles(.:format) articles#create new_article GET /articles/new(.:format) articles#new edit_article GET /articles/:id/edit(.:format) articles#edit article GET /articles/:id(.:format) articles#show PUT /articles/:id(.:format) articles#update DELETE /articles/:id(.:format) articles#destroy welcome_index GET /welcome/index(.:format) welcome#index root / welcome#index Ahora vamos a crear nuestra acción que responderá a esta URL que es el create. def create rer json: params[:article].inspect Para evitar el error de missing template, agregamos la segunda linea, con lo cual vamos a ver un json con los parámetros enviados al darle click al botón submit. {"title"=>"qwqwer", text"=>"qwerqwer"} Para continuar vamos a crear un modelo para los artículos. Creando el model Article Los models en Rails utilizan nombres singulares que corresponden a los nombres de las tablas en la base de datos. Rails nos proporciona un generador para crear dichos modelos que es la manera más común de hacerlo. Para crear un nuevo modelo corremos en terminal: $ rails generate model Article title:string text:text Con esto, Rails crea varios archivos, de los cuales sólo nos interesan app/models/article.rb y db/ migrate/ _create_articles.rb, el nombre del segundo archivo puede ser un poco diferente. El segundo archivo es responsable de crear la estructura en la base de datos. class CreateArticles < ActiveRecord::Migration def change create_table :articles do t t.string :title t.text :text Si abrimos nuestra migración db/migrate/ _create_articles.rb veremos algo así: t.timestamps
11 Lo cual crea un método llamado change el cual se ejecutará al correr esta migración, que como podemos observar va a crearnos la tabla articles con los campos id(por default), titulo, texto y timestamps para fechas de creación y modificación. Ahora ejecutamos el comando: $ rake db:migrate Que nos regresará un mensaje. == CreateArticles: migrating ================================================== - - create_table(:articles) - > s == CreateArticles: migrated (0.0020s) ========================================= Nota: Por default esto afecta a la base de datos de desarrollo, si queremos que tome efecto en producción, debemos indicarlo rake db:migrate RAILS_ENV=production. Una vez que ya tenemos nuestra tabla creada, procedamos guardar el artículo. Abrimos app/controllers/articles_controller.rb y modificamos nuestro método create. def = Article.new(params[:article]) respond_to do format format.html { notice: 'Changes Saved.' } format.json { rer status: :created, } else format.html { rer action: "new" } format.json { rer status: :unprocessable_entity }
12 Si refrescamos la página y damos click al botón del formulario de nuestro artículo veremos que se guarda pero nos muestra el error: Esto ya debemos reconocerlo y se debe a que no existe nuestro método ni nuestra vista, así que vayamos a resolver ambos. Primero editamos nuestro controller para agregar la acción show : def = Article.find(params[:id]) respond_to do format format.html # show.html.erb format.json { rer } Y creamos nuestro archivo de vista app/views/articles/show.html.erb con el siguiente contenido: <strong>title:</strong> %> <strong>text:</strong> %> Con esto ya podemos actualizar nuestra página para ver los resultados.
13 Cabe mencionar como nota, que el respond_to nos permite responder diferente depio del formato que solicitemos ya que si por ejemplo al final de la URL agregamos un.json veremos lo siguiente: Creando el index Que como podemos ver es un objeto en dicho formato. Como normalmente sucede, necesitaremos un listado de nuestros artículos, para esto utilizamos un index, así que a crearlo. Recordemos que la ruta es: articles GET /articles(.:format) articles#index Por lo tanto vamos a añadir el método index a nuestro controller: def = Article.all respond_to do format format.html # index.html.erb format.json { rer } Con esto le decimos a nuestro modelo que nos traiga todos los artículos que encuentre en nuestra base de datos. Ahora creamos nuestro app/views/articles/index.html.erb para mostrar el listado: <h1>listing articles</h1> <table> <tr> <th>title</th> <th>text</th> </tr> do article %> <tr> <td><%= article.title %></td> <td><%= article.text %></td> </tr> <% %> </table>
14 Con lo anterior si vamos a veremos un listado de nuestros artículos. Obviamente no vamos a estar cambiando la URL manualmente, así que Agreguemos unos enlaces Abramos nuestra vista por default app/views/welcome/index.html.erb y agreguemos el primer enlace: <h1>hello, Rails</h1> <%= link_to 'My Blog', controller: 'articles' %> El método link_to es un helper que nos ayuda a generar enlaces. Si queremos probarlo podemos hacerlo y damos click al enlace generado. <%= link_to 'New article', new_article_path %> Ahora modifiquemos app/views/articles/index.html.erb para agregar lo siguiente: Y actualizamos nuestra tabla. do article %> <tr> <td><%= article.title %></td> <td><%= article.text %></td> <td><%= link_to 'Show', article_path(article) %></td> <td><%= link_to 'Edit', edit_article_path(article) %></td> </tr> <% %> Y por su puesto modificamos nuestro app/views/articles/new.html.erb y al final del documento agregamos el link, que nos quedará similar a: <%= form_for :article, url: articles_path do f %>... <% %> <%= link_to 'Back', articles_path %>
15 Y por último app/views/articles/show.html <%= link_to 'Back', articles_path %> Ahora podemos probar todos nuestros enlaces. Y pasemos a lo siguiente. Agregar validaciones Antes de esto, modifiquemos nuestro controlador y agreguemos la siguiente linea en el método create = Article.new Más adelante veremos para qué es esto. Para hacer las validaciones utilizaremos nuestro modelo app/models/article.rb. Y agregaremos: class Article < ActiveRecord::Base validates :title, presence: true, length: { minimum: 5 } Con esto nos aseguramos de que exista un título y tenga una longitud mínima de 5. Esta validaciones corresponden a la clase padre ActiveRecord para más detalle guides.rubyonrails.org/active_record_validations.html Si ahora intentamos guardar un artículo que no cumpla estas validaciones veremos que no se guarda, mas sin embargo no nos da ningún mensaje. Así que editemos nuestro archivo app/views/articles/new.html.erb": <%= form_for :article, url: articles_path do f %> <% %> <div id="error_explanation"> <h2><%= pluralize(@article.errors.count, "error") %> prohibited this article from being saved:</h2> <ul> do msg %> <li><%= msg %></li> <% %> </ul> </div> <% %> <%= f.label :title %><br> <%= f.text_field :title %>
16 <%= f.label :text %><br> <%= f.text_area :text %> <%= f.submit %> <% %> <%= link_to 'Back', articles_path %> El código nuevo lo que hace es básicamente preguntar si existen y en caso de que sea así se muestra una lista de errores pluralize es un helper de rails que toma un número una string como parámetros. En caso que el número se mayo que uno, el string es pluralizado de manera automática. Es importante notar que la modificación al método create fue para evitar que sea nulo. Ahora, si volvemos a enviar nuestro formulario sin cumplir las validaciones nos mostrará algunos errores. Ahora el update Lo siguiente es programar el actualizar la información de nuestros artículos, para lo cual necesitaremos nuestro método edit en nuestro controlador: def = Article.find(params[:id]) Y un nuevo archivo de vista app/views/articles/edit.html.erb :
17 <h1>editing article</h1> <%= form_for :article, url: method: :put do f %> <% %> <div id="error_explanation"> <h2><%= pluralize(@article.errors.count, "error") %> prohibited this article from being saved:</h2> <ul> do msg %> <li><%= msg %></li> <% %> </ul> </div> <% %> <%= f.label :title %><br> <%= f.text_field :title %> <%= f.label :text %><br> <%= f.text_area :text %> <%= f.submit %> <% %> <%= link_to 'Back', articles_path %> En esta ocasión hemos apuntado el formulario a la acción update mediante el parámetro method: :put, el cual no existe, pero lo haremos en breve. def = if Article.find(params[:id]) respond_to do format
18 @article.update_attributes(params[:article]) format.html { notice: 'Changes Saved.' } format.json { head :no_content } else format.html { rer action: "edit" } format.json { rer status: :unprocessable_entity } Con esto como podemos ver, en caso de que se apliquen los cambios seremos re-dirigidos a la URL del artículo que hemos editado. Ya podemos revisar esta funcionalidad. Eliminando código duplicado Como podemos ver, las formas de nuestra acción new y edit, son prácticamente iguales, salvo por la url, así que vamos a remediar esto utilizando algo llamado partials. Para esto creamos el archivo app/views/articles/_form.html.erb y colocamos el siguiente código: <%= do f %> <% %> <div id="error_explanation"> <h2><%= pluralize(@article.errors.count, "error") %> prohibited this article from being saved:</h2> <ul> do msg %> <li><%= msg %></li> <% %> </ul> </div> <% %> <%= f.label :title %><br> <%= f.text_field :title %> <%= f.label :text %><br> <%= f.text_area :text %> <%= f.submit %>
19 <% %> Como podemos ver, simplemente se ha omitido la URL destino, ya que rails es suficientemente inteligente para detectar que URL utilizar para el recurso correspondiente. Ahora editamos nuestra vista de new: <h1>new article</h1> <%= rer 'form' %> <%= link_to 'Back', articles_path %> Y la de edit: <h1>edit article</h1> <%= rer 'form' %> <%= link_to 'Back', articles_path %> Con esto si refrescamos ambas URLs, veremos que el comportamiento no se ha visto afectado. Borrando elementos En nuestro controller: def = respond_to do format format.html { redirect_to articles_url } format.json { head :no_content } Y en nuestro index agregamos a la tabla después de los enlaces de show y edit: <td><%= link_to 'Destroy', article, method: :delete, data: { confirm: 'Are you sure?' } %></td> Con esto si refrescamos la vista, veremos que ahora, podemos eliminar artículos, con lo cual terminamos nuestras operaciones CRUD. El segundo modelo Como vemos ese es un comportamiento muy simple, así que vamos a generar un segundo modelos para que nuestros artículos puedan tener comentarios.
20 Primero generamos el modelo: $ rails generate model Comment commenter:string body:text article:references Si revisamos nuestro modelo veremos algo así: class Comment < ActiveRecord::Base belongs_to :article attr_accessible :body, :commenter Como vemos, a demás de los campos body y commenter, tenemos la linea belongs_to, que nos hace referencia a la asociación entre los modelos para ActiveRecord. De igual manera si observamos la migración, veremos esto: class CreateComments < ActiveRecord::Migration def change create_table :comments do t t.string :commenter t.text :body t.references :article t.timestamps add_index :comments, :article_id Lo cual es bastante entible. $ rake db:migrate Ahora ejecutamos la migración. Y por último agregamos la asociación en nuestro app/models/article.rb : class Article < ActiveRecord::Base has_many :comments attr_accessible :text, :title validates :title, presence: true, length: { minimum: 5 } Con lo anterior, podemos utilizar esta asociación con simplemente
21 Ahora actualizamos nuestro archivo de rutas: resources :articles do resources :comments Lo siguiente es generar un controlador: $ rails generate controller Comments En nuestro controlador sólo tremos dos acciones, una para crear comentarios y otra para eliminarlos. Pero primero, actualicemos la vista app/views/articles/show.html.erb para permitir a los visitantes agregar comentarios y listar los que ya existan. <strong>title:</strong> %> <strong>text:</strong> %> <h2>comments</h2> do comment %> <strong>commenter:</strong> <%= comment.commenter %> <strong>comment:</strong> <%= comment.body %> <% %> <h2>add a comment:</h2> <%= do f %> <%= f.label :commenter %><br> <%= f.text_field :commenter %> <%= f.label :body %><br> <%= f.text_area :body %>
22 <%= f.submit %> <% %> <%= link_to 'Back', articles_path %> <%= link_to 'Edit', %> Y agregamos nuestro create en el controller app/controllers/comments_controller.rb : def = redirect_to article_path(@article) Con estos cambios, podemos ya agregar comentarios a nuestros artículos. todo esto está muy bien, pero nuestro app/views/articles/show.html.erb está creció mucho, así que, lo vamos a limpiar utilizando partials. Vamos a crear app/views/comments/_comment.html.erb el cual nos servirá para listar los comentarios: <strong>commenter:</strong> <%= comment.commenter %> <strong>comment:</strong> <%= comment.body %>
23 Y actualizamos nuestro app/views/articles/show.html.erb para que quede algo así: <strong>title:</strong> %> <strong>text:</strong> %> <h2>comments</h2> <%= %> <h2>add a comment:</h2> <%= do f %> <%= f.label :commenter %><br> <%= f.text_field :commenter %> <%= f.label :body %><br> <%= f.text_area :body %> <%= f.submit %> <% %> <%= link_to 'Back', articles_path %> <%= link_to 'Edit', edit_article_path(@article) %> Listo, si refrescamos veremos que todo sigue funcionando igual, esto es ya que el método rer itera sobre la asignado cada comentario a una variable local en nuestro partial. Pero aún no terminamos, así que vamos a mover nuestro formulario. Creamos app/views/comments/_form.html.erb con el siguiente contenido: <%= do f %> <%= f.label :commenter %><br> <%= f.text_field :commenter %> <%= f.label :body %><br> <%= f.text_area :body %>
24 <%= f.submit %> <% %> <strong>title:</strong> %> Y nuestro app/views/articles/show.html.erb quedaría de la siguiente forma: <strong>text:</strong> %> <h2>comments</h2> <%= %> <h2>add a comment:</h2> <%= rer "comments/form" %> <%= link_to 'Back', articles_path %> <%= link_to 'Edit', edit_article_path(@article) %> Si de nuevo refrescamos nuestra página, veremos que todo funciona igual, y tenemos un código mucho más limpio y legible. Borrando comentarios Debes en cuando alguien publica un comentario inapropiado o spam que necesita ser eliminado, para esto vamos a actualizar nuestro partial app/views/comments/_comment.html.erb y agregamos dicha opción: <strong>commenter:</strong> <%= comment.commenter %> <strong>comment:</strong> <%= comment.body %> <%= link_to 'Destroy Comment', [comment.article, comment], method: :delete, data: { confirm: 'Are you sure?' } %>
25 Este link, nos generará un enlace a la URL con el método REST DELETE, así que vamos a actualizar nuestro controller para que contenga este método: class CommentsController < ApplicationController def = redirect_to article_path(@article) def = = redirect_to article_path(@article) Con estos cambios, ya podemos borrar nuestros comentarios. Borrando objetos asociados Si bien ya podemos borrar artículos y comentarios, actualmente cuando se elimina un artículo no se eliminan los comentarios asociados al mismo, afortunadamente Rails nos va a facilitar las cosas, así que simplemente vamos a actualizar app/models/article.rb : class Article < ActiveRecord::Base has_many :comments, depent: :destroy attr_accessible :text, :title validates :title, presence: true, length: { minimum: 5 } Y listo, con esto, al borrar nuestros artículos, automáticamente se eliminarán los comentarios asociados al mismo. Seguridad Rails nos provee una autenticación MUY básica que vamos a utilizar para que sólo los que tengan las credenciales necesarias puedan eliminar comentarios no deseados, para esto vamos a utilizar un autenticación HTTP simple que funciona bien para este caso. Vamos a editar nuestro app/controllers/comments_controller.rb : class CommentsController < ApplicationController http_basic_authenticate_with name: "master", password: "secret", only: :destroy
26 Con esto, al querer eliminar un comentario, vamos a ver que nos pide una autenticación. Y listo, tenemos un pequeño sistema de blog. Agregando estilos Como podemos ver, el sitio está muy plano, así que vamos a agregar un poco de estilo. Abrimos nuestro app/assets/stylesheets/application.css que es nuestro archivo principal de estilos, y aquí, vamos a escribir un pequeño css: body { background- color: #FFFFFF; color: #333333; font- family: "Helvetica Neue",Helvetica,Arial,sans- serif; font- size: 14px; line- height: ; } body { margin: auto; width: 970px; } table{ width: 100%; text- align: left; } td{ border- top: 1px solid #DDDDDD; }
27 Con estos pequeños cambios, podemos tener un sitio un poco más presentable. Un poco de javascript Bueno, la mayoría de sitios utilizan js para alguna funcionalidad, si nosotros queremos hacer lo mismo, simplemente podemos hacerlo, para esto editamos nuestro app/assets/javascripts/ application.js donde crearemos un reloj : function updateclock ( ) { var currenttime = new Date ( ); var currenthours = currenttime.gethours ( ); var currentminutes = currenttime.getminutes ( ); var currentseconds = currenttime.getseconds ( ); // Pad the minutes and seconds with leading zeros, if required currentminutes = ( currentminutes < 10? "0" : "" ) + currentminutes; currentseconds = ( currentseconds < 10? "0" : "" ) + currentseconds; // Choose either "AM" or "PM" as appropriate var timeofday = ( currenthours < 12 )? "AM" : "PM"; // Convert the hours component to 12- hour format if needed currenthours = ( currenthours > 12 )? currenthours - 12 : currenthours; // Convert an hours component of "0" to "12" currenthours = ( currenthours == 0 )? 12 : currenthours; // Compose the string for display var currenttimestring = currenthours + ":" + currentminutes + ":" + currentseconds + " " + timeofday; // Update the time display document.getelementbyid("clock").firstchild.nodevalue = currenttimestring; } Lo siguiente es editar nuestro layout general app/views/layouts/application.html.erb : <DOCTYPE html> <html> <head> <title>blog</title> <%= stylesheet_link_tag "application", :media => "all" %> <%= javascript_include_tag "application" %> <%= csrf_meta_tags %> </head> <body onload="updateclock(); setinterval('updateclock()', 1000 )"> <span id="clock"> </span> <%= yield %> </body> </html>
28 Si ahora actualizamos nuestro blog, tremos un pequeño reloj que nos dará la hora en la página. Con lo cual damos por terminado este tutorial.
Hello, Thanks for signing up for OpenShift! Getting started is easy.
Proyecto: Montar Aplicación de Ruby Rails sobre Openshift. Lo primero que tenemos que hace es visitar la pagina de openshift : https://openshift.redhat.com/app/ ahí le damos a la opción de Sign up -It,s
Más detallesMANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD
MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD Fecha última revisión: Diciembre 2010 Tareas Programadas TAREAS PROGRAMADAS... 3 LAS TAREAS PROGRAMADAS EN GOTELGEST.NET... 4 A) DAR DE ALTA UN USUARIO...
Más detallesTutorial: Primeros Pasos con Subversion
Tutorial: Primeros Pasos con Subversion Introducción Subversion es un sistema de control de versiones open source. Corre en distintos sistemas operativos y su principal interfaz con el usuario es a través
Más detallesManual CMS Mobincube
Manual CMS Mobincube CMS Mobincube Qué es? El CMS (Sistema de Gestión de Contenidos) es un completo website que permite la creación y actualización de contenido remoto. De esta forma, una vez creada una
Más detallesSesión 20. MVC en ruby on rails. Luisa Fernanda Rincón Pérez 2015-1
Sesión 20. MVC en ruby on rails Luisa Fernanda Rincón Pérez 2015-1 Cómo aplica Ruby on rails MVC? MODELO en Ruby on rails Cómo aplica Ruby on rails MVC? Modelo Representan tablas de la base de datos Las
Más detallesCurso de PHP con MySQL Gratis
Curso de PHP con MySQL Gratis Introducción Este mini curso o mini tutorial de PHP le ayudará a realizar cualquier sistema para que pueda insertar uno o varios registros a una base de datos con MySQL, este
Más detallesAGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7
Tutoriales de ayuda e información para todos los niveles AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7 Como agregar a una red existente un equipo con Windows 7 y compartir sus archivos
Más detallesInstalación del Admin CFDI
Instalación del Admin CFDI Importante!!!Antes de comenzar verifique los requerimientos de equipo esto podrá verlo en la guía 517 en nuestro portal www.control2000.com.mx en el apartado de soporte, ahí
Más detallesPrograma diseñado y creado por 2014 - Art-Tronic Promotora Audiovisual, S.L.
Manual de Usuario Programa diseñado y creado por Contenido 1. Acceso al programa... 3 2. Opciones del programa... 3 3. Inicio... 4 4. Empresa... 4 4.2. Impuestos... 5 4.3. Series de facturación... 5 4.4.
Más detallesCómo usar Subversion. con Windows XP/2000/2003.
con Windows XP/2000/2003. Creado por: Fecha de creación: Domingo, 04 de Septiembre de 2005 Revisión: 1 Última modificación: Sábado, 10 de Septiembre de 2005 Índice Cómo usar Subversion... 1 Índice... 2
Más detallesEn la siguiente imagen se muestra la pantalla principal del portafolio de un usuario que será utilizado para explicar cada aspecto del mismo.
Manual Portafolio El portafolio digital provee a los usuarios de herramientas para crear y mantener su propio portafolio digital en su proceso de formación en moodle en el cual podrán enviar sus trabajos,
Más detallesG R U P O S INDICE Cómo crear una cuenta en ARQA? Cómo tener un grupo en ARQA? Secciones y funcionalidades de los grupos Configuración del grupo
INDICE Cómo crear una cuenta en ARQA? 4 Cómo tener un grupo en ARQA? 5 Secciones y funcionalidades de los grupos 6 Muro del Grupo 6 Compartir Textos 8 Compartir Imágenes 9 Compartir videos 10 Compartir
Más detallesUn pequeñísimo tutorial para explicar cómo darse de alta al MEJOR SISTEMA de compartición, backup... en la web.
ALTA EN DROPBOX Un pequeñísimo tutorial para explicar cómo darse de alta al MEJOR SISTEMA de compartición, backup... en la web. DROPBOX EN LA RED Nos vamos a cualquiera de los navegadores que tengamos
Más detallesManual hosting acens
Manual hosting acens Contenido Acceso al panel de control de cliente... 3 Asociar un dominio a mi Hosting... 5 Acceso al panel de administración del hosting... 7 INICIO - Visión general del estado de nuestro
Más detallesAGREGAR COMPONENTES ADICIONALES DE WINDOWS
INSTALACIÓN DE IIS EN WINDOWS XP El sistema está desarrollado para ejecutarse bajo la plataforma IIS de Windows XP. Por esta razón, incluimos la instalación de IIS (Servidor de Web) para la correcta ejecución
Más detallesMANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn
MANUAL DE USUARIO CMS- PLONE www.trabajo.gob.hn Tegucigalpa M. D. C., Junio de 2009 Que es un CMS Un sistema de administración de contenido (CMS por sus siglas en ingles) es un programa para organizar
Más detallesRace Manager by Master Timing Guía del usuario GUIA RACE MANAGER. Eventronic, SL
GUIA RACE MANAGER Eventronic, SL DESCRIPCIÓN DEL PROGRAMA El Race Manager es un programa que se creó para facilitar el trabajo de la dirección de carrera de un evento durante y después de una carrera.
Más detallesEn términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas.
1 de 18 Inicio Qué es un foro En términos generales, un foro es un espacio de debate donde pueden expresarse ideas o comentarios sobre uno o varios temas. En el campus virtual, el foro es una herramienta
Más detallesQuiz 11: Crear preguntas. Juan Quemada, DIT - UPM
Quiz 11: Crear preguntas Juan Quemada, DIT - UPM 1 Quiz 10: Crear preguntas Objetivo: Introducir en la aplicación Quiz un formulario que permita crear preguntas nuevas y añadirlas a la base de datos. Paso
Más detallesManual de configuración del correo electrónico Netkiamail en distintos dispositivos
Manual de configuración del correo electrónico Netkiamail en distintos dispositivos 1. - INTRODUCCION En este manual aprenderá a configurar una cuenta de correo electrónico para clientes de correo de equipos:
Más detallesManual Sistema de Afiliados Lomas Travel
Manual Sistema de Afiliados Lomas Travel Contenido Registro de Afiliados... 3 Administración de su cuenta... 7 Ingresar... 7 Uso del Administrador... 8 Configuración de Plantilla... 9 1.-Opción de subir
Más detallesIntroducción... 2. Delicious... 2. Algunas características:... 2. Sitio para acceder a esta herramienta... 2. Qué es Delicious?...
Delicious Índice Introducción... 2 Delicious... 2 Algunas características:... 2 Sitio para acceder a esta herramienta... 2 Qué es Delicious?... 2 Tutorial Delicious... 3 Cómo guardar favoritos... 5 Otros
Más detallesInstituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula: 2010-2946.
Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez Matrícula: 2010-2946 How to How to: Web Server (Apache)!!! Servidor Web El servidor HTTP Apache es
Más detallesUNIVERSIDAD DE MEDELLÍN NUEVO PORTAL WEB MANUAL DE USUARIO GESTOR DE CONTENIDOS
UNIVERSIDAD DE MEDELLÍN MANUAL DE USUARIO GESTOR DE CONTENIDOS NUEVO PORTAL WEB TABLA DE CONTENIDO Tabla de Contenido 2 Consideraciones Iniciales 3 Ingreso al Sistema 4 Opciones de Gestor de contenidos
Más detallesInstituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez
Instituto Tecnológico de Las América Materia Sistemas operativos III Temas Servidor Web Apache Facilitador José Doñe Sustentante Robín Bienvenido Disla Ramirez Matricula 2011-2505 Grupo 1 Servidor Web
Más detallesA continuación se confeccionara un formulario para el ingreso de un nombre y un botón para el envío del dato ingresado al servidor:
FORMULARIOS BAJO HTML INTRODUCCION A FORMULARIOS Un formulario permite que el visitante al sitio cargue datos y sean enviados al servidor. Es el medio ideal para registrar comentarios del visitante sobre
Más detallesInternet Information Server
Internet Information Server Internet Information Server (IIS) es el servidor de páginas web avanzado de la plataforma Windows. Se distribuye gratuitamente junto con las versiones de Windows basadas en
Más detallesCómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia
Cómo instalar fácilmente tu WordPress tras contratar un hosting en Hostalia Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com La puesta en marcha de WordPress es muy sencilla,
Más detallesSitios remotos. Configurar un Sitio Remoto
Sitios remotos Definir un sitio remoto significa establecer una configuración de modo que Dreamweaver sea capaz de comunicarse directamente con un servidor en Internet (por eso se llama remoto) y así poder
Más detallesOptimizar base de datos WordPress
Optimizar base de datos WordPress Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com WordPress se ha convertido en uno de los CMS más utilizados en todo el mundo. Su robustez,
Más detallesObjetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.
Sesión 03: Lenguajes web del servidor Competencias a Conseguir: - Conocer el entorno de trabajo a nivel de servidores web. - Instalación del localhost (Servidor Local). - Repaso general de PHP y ejercicios
Más detallesAquí tenemos que seleccionar el lenguaje que queremos usar mediante la instalación.
Instalación de Elastix Seleccionando el lenguaje Aquí tenemos que seleccionar el lenguaje que queremos usar mediante la instalación. Selección del idioma del teclado Seleccionamos el idioma que queramos
Más detallesInstalación de Tomcat7 en Ubuntu
2. Instala el servidor web java TomCat en Windows y Linux. Documenta los módulos/servicios necesarios. Instala el CMS Java Liferay. Documenta el proceso. Instalación de Tomcat7 en Ubuntu Comenzamos instalando
Más detallesUNIVERSIDAD AUTÓNOMA DE SINALOA FACULTAD DE INGENIERÍA MOCHIS LIC. EN INGENIERÍA DE SOFTWARE MATERIA: REDES Y COMUNICACIÓN DE DATOS GRUPO: 401
UNIVERSIDAD AUTÓNOMA DE SINALOA FACULTAD DE INGENIERÍA MOCHIS LIC. EN INGENIERÍA DE SOFTWARE MATERIA: REDES Y COMUNICACIÓN DE DATOS GRUPO: 401 PROFESOR: CARLOS ALARCÓN ALUMNO: SÁNCHEZ CASTILLO LUIS ÁNGEL
Más detallesTutorial: Cómo realizar tu primer programa en C++ En el Sistema Operativo Windows
Tutorial: Cómo realizar tu primer programa en C++ En el Sistema Operativo Windows Lo primero que hay que tener en cuenta para poder hacer nuestro primer programa en C++ es que necesitamos ciertas herramientas
Más detallesGuía de uso del Portal de Soporte Readsoft
Guía de uso del Portal de Soporte Readsoft SUMMARY: Este documento describe como los clientes pueden usar el Portal de Soporte Readsoft para ingresar y manejar sus casos de soporte. Este portal permite
Más detallesMANUAL DE. manual de Joomla JOOMLA
MANUAL DE manual de Joomla JOOMLA Tabla de contenido 1. Instalación de Joomla y características... 2 2. Configuración del sitio web... 3 3. Gestión de usuario... 8 4. Gestión de artículos... 11 5. Otros
Más detallesCrear la base de datos antes de la instalación de Wordpress.
Introducción En este tutorial básico sobre instalar Wordpress en tu propio hosting mediante un panel de control cpanel y aprenderás como personalizar las bases de datos MySQL que utiliza Wordpress. Para
Más detallesEscudo Movistar Guía Rápida de Instalación Dispositivos Symbian
Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian Guía de Instalación Página 1 Índice ESCUDO MOVISTAR.... 3 1. INSTALACIÓN DEL SERVICIO ESCUDO MOVISTAR... 3 1.1. VERSIONES SOPORTADAS... 3
Más detallesConceptos Generales en Joomla 1.7.2.
1.- Tipos de usuarios en Joomla! JOOMLA 1.7 USUARIOS. Los usuarios de sitios web de Joomla! pueden dividirse en dos categorías principales: Invitados. Usuarios registrados. Los Invitados son sencillamente
Más detallesMANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS
MANUAL PARA GESTIÓN DE INCIDENCIAS INFORMÁTICAS En este manual aprenderemos a introducir un Ticket de Soporte (Incidencia Informática) y ver todo el proceso hasta que se resuelve. Para poder escribir Tickets
Más detallesGuía de uso del Cloud Datacenter de acens
guíasdeuso Guía de uso del Cloud Datacenter de Calle San Rafael, 14 28108 Alcobendas (Madrid) 902 90 10 20 www..com Introducción Un Data Center o centro de datos físico es un espacio utilizado para alojar
Más detallesIntroducción a los sitios de SharePoint en Office 365
Introducción a los sitios de SharePoint en Office 365 Universidad Central del Este Contenido 1. QUÉ ES UN SITIO SHAREPOINT?... 3 2. CÓMO INGRESAR AL ÁREA DE SITIOS?... 3 3. DESCRIPCIÓN GENERAL DEL ÁREA
Más detallesEscribiendo el HTML. Un formulario se declara entre estos dos tags:
Formularios Un formulario HTML sirve como principal punto de interacción con el usuario: mediante ellas, podemos hacer posible la interacción de nuestra página Web para con el usuario que visita nuestro
Más detallesPlataforma e-ducativa Aragonesa. Manual de Administración. Bitácora
Plataforma e-ducativa Aragonesa Manual de Administración Bitácora ÍNDICE Acceso a la administración de la Bitácora...3 Interfaz Gráfica...3 Publicaciones...4 Cómo Agregar una Publicación...4 Cómo Modificar
Más detallesManual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2
Manual de software Dynamic Cloud 10/2014 MS-Dynamic_Cloud v1.2 ÍNDICE GENERAL 1. INTRODUCCIÓN... 2 1.1 Configuración mínima del PC... 2 2. INSTALAR DYNAMIC CLOUD... 3 2.1 Ejecutar Dynamic Cloud por primera
Más detalles12 Minería de Datos Reglas de asociación.
Objetivos: 12 Minería de Datos Reglas de asociación. Genera reportes a partir de técnicas de Data Mining. Utiliza software de Data Mining. Recursos: Guías prácticas. Datos ejemplo. http://rapidminer.com
Más detalles5.2.- Configuración de un Servidor DHCP en Windows 2003 Server
5.2.- Configuración de un Servidor DHCP en Windows 2003 Server En este apartado vamos a configurar el servidor DHCP de "Windows 2003 Server", instalado en el apartado anterior. Lo primero que hemos de
Más detallesConfiguración de Samba para compartir Archivos
Configuración de Samba para compartir Archivos Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para
Más detallesCASO PRÁCTICO. CASOS PRÁCTICOS Internet (CP15 y CP16)
CASO PRÁCTICO CASOS PRÁCTICOS Internet (CP15 y CP16) Índice Internet CP15: Subir a Internet... 1 CP16: Publicar en blog... 7 Internet Una vez que tenemos un montaje audio realizado, ya tenemos una nueva
Más detallesDOCENTES FORMADORES UGEL 03 PRIMARIA
DOCENTES FORMADORES UGEL 03 PRIMARIA 1. Recursos y Aplicaciones del Servidor La página de inicio del servidor (http://escuela) contiene los enlaces a las aplicaciones instaladas en el servidor, un enlace
Más detallesÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)
JOOMLA! ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009) Es necesario comentar que este manual ha sido diseñado en su mayor parte por comunidadjoomla.org. Este manual es una
Más detalles10. El entorno de publicación web (Publiweb)
10. El entorno de publicación web (Publiweb) 10.1. Introducción El entorno de publicación Web es una herramienta que permite la gestión de nuestras páginas Web de una forma visual. Algunos ejemplos de
Más detallesLa única regla que debe de tener presente siempre, es que cada etiqueta que abra <etiqueta> debe de cerrarla en el mismo orden < /etiqueta cerrada>.
Antes de comenzar, si algo no está en este manual, utilice google para averiguarlo y acostúmbrese a ello ya que será la mejor herramienta que pueda encontrar. La estructura básica de toda página web es:
Más detallesPSI Gestión es un sistema multiusuario que le permite 2 tipos de configuraciones:
CARACTERISTICAS DEL SISTEMA PSI Gestión es un sistema multiusuario que le permite 2 tipos de configuraciones: Sólo Servidor: Una sola computadora con el sistema instalado en modo Administrador. Pueden
Más detallesINSTALACIÓN DE SIESTTA 2.0 EN UN HOSTING (Ejemplo para Guebs.com)
INSTALACIÓN DE SIESTTA 2.0 EN UN HOSTING (Ejemplo para Guebs.com) A modo de post, vamos a complementar la documentación con una guía visual a través de la cual conseguiremos instalar SIESTTA 2.0 en un
Más detallesProceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento
Qué es AT-Encrypt nos permitirá dotar de contraseña a cualquier documento o carpeta. Este documento o carpeta sólo será legible por aquel que conozca la contraseña El funcionamiento del cifrado (o encriptación)
Más detallesGuía nuevo panel de clientes Hostalia
Guía nuevo panel de clientes Hostalia Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com 1. Estructura del panel de administración El panel de control presenta un diseño
Más detalles3. Número inicial y número final de mensajes mostrados en la página actual.
Sistema WEBmail El sistema WEBmail permite el acceso rápido y sencillo a su buzón de correo utilizando un navegador de páginas Web. Normalmente es usado como complemento al lector de correo tradicional,
Más detallesTutorial: Instalación de Eclipse para programar Android en Windows
Tutorial: Instalación de Eclipse para programar Android en Windows En este tutorial vamos a aprender todo lo necesario para dejar nuestra computadora lista para programar en Java para Android, por medio
Más detallesNotas para la instalación de un lector de tarjetas inteligentes.
Notas para la instalación de un lector de tarjetas inteligentes. Índice 0. Obtención de todo lo necesario para la instalación. 3 1. Comprobación del estado del servicio Tarjeta inteligente. 4 2. Instalación
Más detallesTEMA 9 CREACIÓN DE PÁGINAS WEB
TEMA 9 CREACIÓN DE PÁGINAS WEB OBJETIVOS Conocer las páginas web y sus elementos. Insertar tablas, capas, enlaces en las páginas web. Crear páginas web con NVU. Crear un sitio web. Configurar un sitio
Más detallesDOMINIO CON IP DINÁMICA
DOMINIO CON IP DINÁMICA El problema que encontramos cuando queremos que un servidor nuestro sea accesible desde internet es que, por lo general, los prestadores de servicio de internet nos asigna una IP
Más detallesLa plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente.
PLANTILLAS EN PHP El concepto de plantilla, es un criterio del desarrollo web que propone optimizar la cantidad de documentos HTML que se usan en el desarrollo de un sitio web. A lo largo de la navegación
Más detallesINTEGRACION FÁCIL CON PAGOSONLINE
INTEGRACION FÁCIL CON PAGOSONLINE Introducción... 3 Prerrequisitos de una integración fácil con Pagosonline... 5 Como crear un botón de pago... 8 Como crear un carrito de compras... 12 Como realizar pruebas
Más detallesServidor. Comenzaremos por confirmar que el servicio NFS esta instalado y ejecutandose desde la terminal, escribiremos lo siguiente: #rpm -q nfs-utils
NFS Red Hat Enterprise Linux 6 provee dos mecanismos para compartir archivos y carpetas con otros sistemas operativos por medio de la red. Una de las opciones es utilizar una tecnologia llamada samba.
Más detallesAviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported
PROGRAMACIÓN ORIENTADA A OBJETOS APLICADA A BASES DE DATOS Por LAURA NOUSSAN LETTRY BrowserSQL MySQL Workbench en Linux (Abril 2015, Mendoza) Aviso Legal El presente libro electrónico se distribuye bajo
Más detallesInstalación de dos Sistemas Operativos en un mismo Computador
Instalación de dos Sistemas Operativos en un mismo Computador Si quieres tener los dos sistemas operativos en un mismo equipo y elegir, entre uno y otro, en el momento del arranque, debes realizar los
Más detallesGuía de instalación del sistema contafiscal nuevo monousuario internet
Guía de instalación del sistema contafiscal nuevo monousuario internet Requerimientos del equipo Requisitos de equipo (Hardware) Sistema mono usuario. Pentium IV o superior a 1.50 GHz o similar. 2 GB en
Más detallesPontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación IIC1102 Introducción a la Programación Tutorial eclipse TM Introducción al uso de eclipse TM Contents
Más detallesCapítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable
Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable 1. Introducción. El Sistema de Administración de Información de un Negocio Franquiciable (SAINF)
Más detallesGUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE
ÍNDICE ACCESO A LA APLICACIÓN... 2 1.- HOMOLOGACIÓN DE CURSOS... 4 1.1.- INICIAR EXPEDIENTE... 4 1.2.- CONSULTA DE EXPEDIENTES... 13 1.3.- RENUNCIA A LA HOMOLOGACIÓN... 16 2.- MECÁNICA DE CURSOS... 19
Más detallesTutorial de instalación
Tutorial de instalación y configuración servidor local (MYSQL) VERSIÓN 1.0 Tel. 01 800 63 22 887 www.factureya.com ÍNDICE INTRODUCCIÓN 3 1 DESCARGA 2 INSTALACIÓN 3 CONFIGURACIÓN 4 10 32 www.factureya.com
Más detallesTUTORIAL PRÁCTICO COMPLETO DE BASE DE DATOS EN PHPMYADMIN Y GESTIÓN DESDE DREAMWEAVER
TUTORIAL PRÁCTICO COMPLETO DE BASE DE DATOS EN PHPMYADMIN Y GESTIÓN DESDE DREAMWEAVER 1. Crear una nueva base de datos en phpmyadmin Abrimos el wampserver y luego el phpmyadmin Para seguir este tutorial,
Más detallesAmbos paquetes simplifican mucho la instalación del servidor en el equipo. Y ambos pueden ser utilizados para la creación de una red intra-aula.
Instalación de una red intra-aula sobre Windows Introducción La idea y la fundamentación de la creación de redes intra-aula, se puede encontrar en el siguiente enlace: http://www.fedaro.info/2009/06/29/redes-intra-aula/
Más detallesInstalación, Mantenimiento y Administración del PHPWebQuest para una Intranet
Módulo WebQuest Instalación, Mantenimiento y Administración del PHPWebQuest para una Intranet Instalando Servidor Web de nuestra Intranet Para instalar nuestra Plataforma PHPWebQuest, la misma que permita
Más detalles15 CORREO WEB CORREO WEB
CORREO WEB Anteriormente Hemos visto cómo funciona el correo electrónico, y cómo necesitábamos tener un programa cliente (Outlook Express) para gestionar los mensajes de correo electrónico. Sin embargo,
Más detallesHostaliawhitepapers. Redirección 301. Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199. www.hostalia.com
Redirección 301 Cardenal Gardoki, 1 48008 BILBAO (Vizcaya) Teléfono: 902 012 199 www.hostalia.com Redirección 301 Alguna vez te has planteado cambiar tu aplicación web que tienes en marcha a otra dirección
Más detallesGUIA DE BLOQUEO Y DESBLOQUEO WEB
GUIA DE BLOQUEO Y DESBLOQUEO WEB CONTENIDO BLOQUEO WEB EN WINDOWS 7...3 DESBLOQUEO WEB EN WINDOWS 7...8 BLOQUEAR NAVEGACIÓN WEB DESDE EL NAVEGADOR...9 INTERNET EXPLORER...9 CHROME... 13 FIREFOX... 16 Página
Más detallesGUÍA PARA LA INSTALACIÓN Y USO DE WORDPRESS BY MASTERHACKS. www.masterhacks.net. Guía de instalación y uso de Wordpress Página 1
GUÍA PARA LA INSTALACIÓN Y USO DE WORDPRESS BY MASTERHACKS www.masterhacks.net Guía de instalación y uso de Wordpress Página 1 Wordpress es un sistema muy utilizado para la creación de blogs. Este se puede
Más detallesCorreo Electrónico: Webmail: Horde 3.1.1
CONTENIDOS: PAGINA Qué es Webmail?. 2 Acceder a Webmail. 2 Instilación del Certificado UCO. 4 Instilación Certificado I.explorer. 4 Instilación Certificado Firefox. 7 Opciones Webmail. 8 Opciones Información
Más detallesACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA
ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA El Acceso al correo a través de OWA (Outlook Web Access) es una herramienta que permite a los usuarios consultar sus mensajes en una interfaz Web a través de un
Más detallesGuía Práctica para el Uso del Servicio de Software Zoho CRM
Guía Práctica para el Uso del Servicio de Software Zoho CRM Parte 4 Modificación de las Listas Estándar del Sistema Modificación del Menú Principal del Sistema Importación de información al Sistema Adición
Más detallesPLANTILLAS DE DOCUMENTOS EN WORD 2007
1 PLANTILLAS DE DOCUMENTOS EN WORD 2007 Introducción Una plantilla es un modelo o patrón para crear nuevos documentos. En una plantilla se guarda internamente el formato utilizado, es decir, el estilo
Más detallesPrograma. Conceptos básicos: variables, valores y objetos predefinidos, operadores, etc. etc. Callbacks, eval(), etc.
Programa Programa 1. Introducción. Repaso HTML-CSS. Orientaciones Generales. 2. Javascript: Qué es? Dónde se ejecuta? Cómo se ejecuta? Conceptos básicos: variables, valores y objetos predefinidos, operadores,
Más detallesManual de usuario administrador. Correo Exchange Administrado
Manual de usuario administrador Correo Exchange Administrado Triara.com SA de CV Todos los derechos reservados Esta guía no puede ser reproducido ni distribuida en su totalidad ni en parte, en cualquier
Más detallesMantenimiento Limpieza
Mantenimiento Limpieza El programa nos permite decidir qué tipo de limpieza queremos hacer. Si queremos una limpieza diaria, tipo Hotel, en el que se realizan todos los servicios en la habitación cada
Más detallesInstalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta
Configuración de una red con Windows Aunque existen múltiples sistemas operativos, el más utilizado en todo el mundo sigue siendo Windows de Microsoft. Por este motivo, vamos a aprender los pasos para
Más detallesMigrar una organización Microsoft Exchange 2003 a Microsoft Exchange 2007
1 de 20 10/09/2008 13:53 Migrar una organización Microsoft Exchange 2003 a Microsoft Exchange 2007 Migrar Exchange 2003 a Exchange 2007 o Exchange 2000 a Exchange 2007, Bueno, en este documento veremos
Más detalles1º Crear nuestro blog en blogger
COMO CREAR UN BLOG Hoy en día los blogs están en alza, muchas personas quieren tener su espacio en Internet para publicar sus opiniones, sus experiencias, etc., y la forma más sencilla y fácil es con un
Más detallesBienvenido al sistema de Curriculum Digital CVDigital
CVDigital 1 Bienvenido al sistema de Curriculum Digital CVDigital Este programa se ha desarrollado con el fin de llevar a cabo Certificaciones y Recertificaciones de los profesionales a partir del ingreso
Más detallesEl almacén: sistema de archivos
1 de 9 19/09/2011 13:49 El almacén: sistema de archivos Como dispones ya de una plataforma Moodle y has hecho una configuración concreta, ya sea por temas, semanas o cualquier otra, el paso siguiente es
Más detallesConociendo el ambiente de programación de Java. M. en C. Erika Vilches
Conociendo el ambiente de programación de Java M. en C. Erika Vilches La variable PATH Una vez que se ha aceptado la licencia del JDK y que se ha instalado satisfactoriamente y antes de poder utilizarlo,
Más detallesINSTALACIÓN DE GITLAB
INSTALACIÓN DE GITLAB ÍNDICE INSTALACIÓN GITLAB... 3 CREAR USUARIOS... 5 CREAR PROYECTO... 7 INSTALACIÓN CLIENTE GIT... 9 1 Para tener una especie de Github o Bitbucket personal, podemos hacer uso de la
Más detallesGIT Dinahosting 3. Hola!
GIT Manual de uso GIT Dinahosting 2 Contenidos Sobre Git...3 Software...3 Cómo conectarse?...3 Volcar un repositorio remoto...4 Manejar el repositorio...5 Trabajando con ramificaciones...6 Fusionando ramificaciones...6
Más detallesCONFEDERACIÓN DE EMPRESARIOS DE MÁLAGA
GUÍA DEL ALUMNO 1 Introducción 2 Acceso a la plataforma 3 Cerrar sesión 4 Estructura del curso virtual 5 Foros 5.1 No quiero recibir copias de los foros en mi email 6 Mensajería Interna 7 Como subir tareas
Más detallesTEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS
TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS 1) EL PEQUEÑO EDITOR El Bloc de notas de Windows XP es un básico editor de texto con el que podemos escribir anotaciones, de hasta 1024 caracteres por línea y
Más detallesPRÁCTICA 10. Configuración de Correo y Publicar en la Web
PRÁCTICA 10. Configuración de Correo y Publicar en la Web INFORMÁTICA BÁSICA Publicidad y Relaciones Públicas y Periodismo. Curso 2006/2007 1. Configuración del correo Gestores de correo en la máquina
Más detallesIntroducción a PHP. * No es necesario declarar previamente las variables.
Introducción a PHP La programación de sitios web cada día está más orientada al desarrollo de páginas dinámicas y aplicaciones, o sea sitios donde el usuario pueda interactuar con la web. Dentro de los
Más detalles