comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Subir Imagenes a Rails con la gema Carrierwave

  • 0 Respuestas
  • 4016 Vistas

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado Alejandro_99

  • *
  • Underc0der
  • Mensajes: 453
  • Actividad:
    0%
  • Reputación 1
  • Humildad y sencillez ante todo.
    • Ver Perfil
« en: Octubre 11, 2014, 02:01:34 am »

Para subir imágenes a Rails tenemos diversas gema pero las mas utilizadas para hacerlos son Paperclip y Carrierwave. En lo personal les recomiendo utilizar Carrierwave ya que la misma genera su propia clase y tenes un código mas limpio y ordenado. Pero eso queda a criterio de ustedes.

Comencemos...

1. Ingresamos a nuestro proyecto a través de la consola:
Código: Ruby
  1. cd Nombre_del_proyecto
2. Agregamos nuestra gema al archivo Gemfile:

Código: Ruby
  1. gem 'carrierwave'

2. Luego de haber agregado la gema al archivo Gemfile ejecutamos en la consola
Código: Ruby
  1. bundle install

*Esto es para que la gema se instale en nuestro proyecto.

3. Un vez instalada la gema generamos nuestra clase que gestionara los archivos que subamos:

Código: Ruby
  1. rails g uploader Foto

*Foto: hace referencia al nombre de nuestra clase le pueden colocar el nombre que quieran.

4. Abrimos app/models/alumno.rb y debajo de la línea:

Código: Ruby
  1. class Alumno < ActiveRecord::Base
  2.  
  3. mount_uploader :imagen, FotoUploader

*:imagen = hace referencia al nombre de nuestro campo osea al que designamos para subir nuestras imágenes y/o archivos.
*FotoUploader: es el nombre de nuestra clase la que se genero cuando ejecutamos el comando:
Código: Ruby
  1.  rails g uploader Foto

5. Ingresamos a app/views/alumnos/_form.html.erb  y creamos nuestro view editando la siguiente línea:

Código: Ruby
  1. <%= form_for @alumno do |f| %>

Para que quede la siguiente manera:

Código: Ruby
  1. <%= form_for @alumno, :html => {:multipart => true} do |f| %>

6. Abrimos app/views/alumnos/_form.html.erb y cambiamos:

Código: Ruby
  1. <%= f.text_field :imagen %>

Por la siguiente línea:

Código: Ruby
  1. <%= f.file_field :imagen %>

7. Abrimos app/views/ alumnos /show.html.erb y cambiamos:

Código: Ruby
  1. <%= @alumno.imagen %>

Por la siguiente línea:

Código: Ruby
  1. <%= image_tag(@alumno.imagen_url, :width => 170, :height => 190) if @alumno.imagen.present? %>

*Nota: alumnos: hace referencia al nombre de mi tabla en ese lugar lo editan por el nombre que ustedes quieran asignarle
*Y otro dato muy relevante siempre absolutamente siempre el campo que designe para subir imágenes debe estar en minúscula (:imagen) ya que si lo ponen en mayúscula (:Imagen) les saldra el siguiente error:

uninitialized constant Imagen

8.   Ahora nos dirigimos al siguiente directorio: app/views/alumnos/index.html.erb una vez dentro del mismo editamos la siguiente línea osea en el lugar donde poseemos el campo que asignamos para subir imágenes:

Código: Ruby
  1. <td><%= alumno.imagen %></td>

Y la reemplazamos por la subsiguiente línea:

Código: Ruby
  1. <%= image_tag(alumno.imagen_url, :width => 65, :height => 75) if alumno.imagen.present? %>

La misma debe ir debajo de esta línea:

Código: Ruby
  1. <% @alumnos.each do |alumno| %>
  2.       <tr>
  3.  

Y entre medio de las etiquetas
Código: HTML5
  1. <No tienes permisos para ver links. Registrate o Entra con tu cuenta></No tienes permisos para ver links. Registrate o Entra con tu cuenta>

Si siguieron los pasos mencionados anteriormente,  al guardar un registro se debería ver la imagen añadida en la tabla de la siguiente manera:


Saludos¡¡



« Última modificación: Octubre 13, 2014, 02:08:50 am por Alejandro9999 »

 

¿Te gustó el post? COMPARTILO!



Preguntas de una entrevista de trabajo para Ruby y Ruby on Rails

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 1214
Último mensaje Enero 02, 2014, 09:54:41 pm
por Alejandro_99
Desarrollo de aplicaciones Perl, PHP, Python y "Ruby on Rails"

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 1191
Último mensaje Junio 13, 2014, 03:27:08 pm
por Alejandro_99
Como Instalar RubyMine y Crear un proyecto vacio para Ruby y Rails

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 1710
Último mensaje Julio 07, 2013, 10:51:08 pm
por Alejandro_99
Ruby on Rails desde Cero: Pruebas unitarias (Testing)

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 1005
Último mensaje Marzo 19, 2014, 02:30:10 pm
por Alejandro_99
[VIDEOTUTORIAL] Curso de Ruby on Rails 4 desde cero

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 1309
Último mensaje Septiembre 17, 2015, 03:12:53 am
por Alejandro_99