2010-12-08 15 views
12

soy muy nuevo en los rieles. Estoy teniendo una tabla que contiene todos los usuarios de la información básica, comocómo mantener un valor hash en la columna de la tabla en los carriles

usuarios (id, nombre, correo electrónico) Ahora estoy tratando de mantener cierta información adicional de estos usuarios en una tabla separada como

user_details (id, user_id, additional_info)

He creado esta tabla user_details. Ahora trato de mantener algunos registros predeterminados para verificar. cómo mantener el valor hash de los detalles adicionales del usuario en la información adicional como si mis detalles adicionales son usuario (designación, salario, nombreprjt) en la columna additional_info de la tabla User_details.

También qué tipo de datos tengo que dar para esta columna additional_info del User_details mesa. Por favor, dar algunas sugerencias ..

Respuesta

26

El tipo de datos para que la columna debe ser de texto por lo que en sus migraciones puede especificar:

add_column :user_details, :additional_info, :text 

Luego, en su modelo tiene que especificar que esta columna contendrá un hash y lo haces con el comando serializar:

class UserDetail < ActiveRecord::Base 
    serialize :additional_info 

Después de eso puedes guardar la información hash.

@ud = UserDetail.new 
@ud.additional_info = {:salary => 1000000} 
@ud.save 
+0

no sabe sobre "serialize". +1 – Faisal

+0

¡Realmente me ayudó! –

+0

me funciona .. Te doy gracias – useranon

Cuestiones relacionadas