如何在rails中的表列中保留哈希值

use*_*non 13 mysql hash ruby-on-rails

我对rails很新.我有一个表,包含所有用户的基本信息,如

用户(id,name,email) 现在我试图将这些用户的一些其他信息保存在一个单独的表中

user_details(ID,USER_ID,ADDITIONAL_INFO)

我创建了这个user_details表.现在我尝试保留一些默认记录以供检查.如何在additional_info中保留用户附加详细信息的哈希值,就像我的附加详细信息是User_details表的additional_info列中的用户名(names,salary,prjtname)一样.

还什么数据类型我不得不放弃这个ADDITIONAL_INFO列的的User_details表.请提一些建议..

Dan*_*nne 30

该列的数据类型必须是文本,因此您可以在迁移中指定:

add_column :user_details, :additional_info, :text
Run Code Online (Sandbox Code Playgroud)

然后在您的模型中,您必须指定此列将包含散列,并使用serialize命令执行此操作:

class UserDetail < ActiveRecord::Base
  serialize :additional_info
Run Code Online (Sandbox Code Playgroud)

之后,您可以保存哈希信息.

@ud = UserDetail.new
@ud.additional_info = {:salary => 1000000}
@ud.save
Run Code Online (Sandbox Code Playgroud)

  • 不知道“序列化”。+1 (2认同)