Iloo

https://iloo.wordpress.com

Archivos en la Categoría: Tips

Ruby on Rails: Simple Form, remover opción nula

Explicando un poco lo que sucede, si bien se tiene una colección de registro en un arreglo por ejemplo:

options = ["option1", "option2", "option3"].

Luego se genera el elemento en la vista:

= f.input :options_selected, as: :select, include_blank: false, collection: options, input_html: {multiple: true}

Si los elementos seleccionados son option1 y option3, la manera en que se almacena es:

["", "option1", "option3"]

Aun cuando se incluyo la opción include_blank se tiene un elemento nulo. Para solucionar esto es necesario agregar una opción mas, include_hidden, y el elemento seria:

= f.input :options_selected, as: :select, include_blank: false, include_hidden: false, collection: options, input_html: {multiple: true}

Y cuando se guarden las mismas opciones se almacenara sin el elemento nulo:

["option1", "option3"]

Tips: Ajustar las horas (PHP, MySQL, Servidor)

time

Este es un punto que la mayoría pasa por alto, en el mejor de los casos se configura la sección de timezones en PHP y ahí termina el asunto.

Para que no existan discrepancias en los registros es necesario sincronizar los tres aspectos,  ya que cada uno maneja su propio registro de tiempo.

  • PHP
  • MySQL
  • El Servidor.

El Servidor

En primer lugar para saber la fecha y la zona horaria en la que se encuentra el servidor ejecutamos lo siguiente en la consola:

date

Dependiendo del SO la manera de cambiar la fecha y zona horaria varia (no mucho) pero una herramienta útil es usar NTP (Network Time Protocol) para definir este aspecto, la mayoría por no decir todos los SO y sus respectivas distribuciones tienen paquetes para su instalación y uso.

PHP

Para ver la fecha actual se maneja la función date, por ejemplo:

<?php
    echo date('D M j G:i:s T Y');
?>

*Pero ojo que la función date devolvería la fecha del cliente y no del servidor.

Para definir la zona horaria se modifica el archivo php.ini en la directriz timezones:

...
date.timezone = America/New_York
...

MySQL

En primer lugar verificar la zona horaria y fecha en la que se encuentra MySQL, mediante una consulta:

SELECT NOW();

Y finalmente definir la fecha:

SET GLOBAL time_zone = America/New_York;

Mas info: MySQL Server Time Zone Support

Arch: tips

Actualizar solo un paquete

pacman -S nombre_paquete

Actualizar paquetes de desarrollo

yaourt -Syu --devel --aur

Arreglar problema del mensaje “No queda espacio en el dispositivo”

Borrar la cache:

pacman -Scc

Borrar los archivos temporales

rm -R /tmp/yaourt-tmp-root/

Eliminar paquetes huérfanos

pacman -Rsn $(pacman -Qdtq)

KDE: tip desactivar sugerencias en el Gestor de tareas

No me gustan mucho los consejos que se muestran al mantener el cursor sobre algún elemento del Gestor de tareas, ya que me molestan al trabajar. Primero intente desactivar los efectos de Kwin, ya no se mostraban las miniaturas de las ventanas, pero aún se mostraba una pequeña sugerencia como se muestra en la imagen siguiente:

Para desactivar por completo esto:

  1. Clic derecho sobre el Gestor de tareas (funciona igual se hace clic derecho sobre un elemento del gestor de tareas, por ejemplo sobre el elemento de Google Chrome), luego elegir la opción Preferencias de Gestor de tareas.
  2. Desmarcar la casilla Mostrar consejos.