Spy*_*ros 0 ruby activerecord ruby-on-rails
我有两个数组.一个是一组技能,另一个是用户可以做的一组技能.为了显示 :
['swimming', 'rowing', 'cycling'] is the set of all skills
Run Code Online (Sandbox Code Playgroud)
现在,用户可以拥有以下技能:
['rowing', 'cycling']
Run Code Online (Sandbox Code Playgroud)
我如何创建一个漂亮的哈希,它将显示用户是否具有当前技能?与此特定用户一样,它将是:
{'swimming' => no, 'rowing' => yes, 'cycling', => yes}
Run Code Online (Sandbox Code Playgroud)
PS我实际上想用rails中的活动记录对象来做这个,但我想这是同样的想法.
以下将给出true而false不是yes和no.
all_skills = %w[swimming rowing cycling]
user_skills = %w[rowing cycling]
Hash[all_skills.map{|k| [k, user_skills.include?(k)]}]
Run Code Online (Sandbox Code Playgroud)
或者,如果你不介意nil相反的no情况下,以下更快.
Hash[user_skills.map{|k| [k, true]}]}
Run Code Online (Sandbox Code Playgroud)