Ada*_*NYC 4 postgresql ruby-on-rails hstore
我使用hstore与Postgres 9.2和Rails 3.2来存储我的对象,如下所示:
class User
user_hstore = {:user_id =>"123", :user_courses => [1,2,3]}
end
Run Code Online (Sandbox Code Playgroud)
现在,当我检索user_courses时,我得到一个这样的字符串:
'[1, 2, 3]'
如何将此字符串转换为Rails数组?更好的是,有没有办法在hstore对象中存储数组,以便Rails自动将其作为数组类型检索?
JSON.parse "[\"1018\", \"1037\", \"1045\", \"1042\"]"
#=> ["1018", " 1037", " 1045", " 1042"]
Run Code Online (Sandbox Code Playgroud)
小智 6
为什么不用eval?
eval('[1, 2, 3]')
#=> [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
显然,不要在任意或用户输入的数据上执行此操作,而是在显示的整数数组上执行此操作,这非常安全.
要将其转换为数组:
user_courses.gsub('[', '').gsub(']', '').split(",")
Run Code Online (Sandbox Code Playgroud)
为了使检索更简单,您可以将其存储为字符串
user_hstore = {:user_id =>"123", :user_courses => '1,2,3'}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3195 次 |
| 最近记录: |