Archivo

Archive for 4 septiembre 2014

Jquery Inputs Dinámicos, Validación , Guardado de Datos

septiembre 4, 2014 22 comentarios

Debido a las dudas de un Post bastante antiguo que tengo en el Blog, realicé un ejemplo básico de lo siguiente:

1.- Creación de un formulario Dinámico ( Solo Ingreso de Datos)
2.- Validación básica (Javascript)
3.- Como enviar los datos a un servicio para que este los guarde (php, java , asp, etc)

La idea es lograr algo así:

Formulario

Para eso les dejo el código (html/js) que es bastante simple:

Para el caso del servicio que debe procesar los datos, en este caso se llama guardar.php, y se debe implementar el acceso a datos mediante php-mysql, por ahora dejar claro de como recibir los datos, ya ustedes
programan los inserts a la base de datos.

<?php
if(isset($_POST['prod']) && !empty($_POST['prod'])){
        echo join(",",$_POST['prod']);
}else{
  echo 'failed';
}

Como se puede ver el valor de los input está contenido en el arreglo $_POST[‘prod’], básicamente se verifica que no esté vacío es ahí donde deben enviar el arreglo a su clase de bases de datos y guardar.

Saludos

Anuncios
Categorías:html, jquery, php Etiquetas:

Concerns en Ruby on Rails

septiembre 4, 2014 Deja un comentario

Una buena manera de mantener bien organizados los modelos en RoR 4 es usar Concerns, permite simplificar los modelos cuando estos crecen demasiado y reutilizar código (DRY), aunque hoy en día recomiendo utilizar Services Objects.

Un ejemplo dice más que mil palabras:

#app/models/concerns/authentication.rb
module Authentication
  extend ActiveSupport::Concern

  	included do
  			has_secure_password
  			attr_accessor :password_confirmation
  	end

module ClassMethods

  	def authenticate(username,password)
			user = find_by_username(username)
			if user && user.authenticate(password)
				user.last_login
				user
			end
	end

end

	def email_downcase
		self.email = self.email.downcase
	end

	def last_login
			update_column(:last_login, Time.now)
	end

end
end
#app/models/concerns/validation.rb
module Validation
	extend ActiveSupport::Concern

	included do
		validates :username,:password_digest,:nombre, presence: true
		validates :apellido,:fecha_nacimiento,:email, presence: true
	    validates :email, uniqueness: true
		before_validation :email_downcase
	end

end
# app/models/user.rb
class User < ActiveRecord::Base
	    include Authentication
	    include Validation
end

Como podemos ver se definieron 2 Concerns , los cuales se encargaran de la Autenticación y Validación respectivamente, lo único a tener en cuenta es “module ClassMethods”, en donde debemos poner nuestros metodos de clase y así poderlo llamarlos desde el controlador de la siguiente manera: User.authenticate, espero sirva de base.

Categorías:Uncategorized Etiquetas: ,