C.J*_*eau 2 ruby ruby-on-rails
如何将索引合并到变量名中,以便我可以访问不同的组对象?
这是我的db/seeds.rb文件:
u = User.create( email: "yeah@foo.com", password: "yeah", password_confirmation: "yeah")
groups_list = ["Math Club", "Science Class", "Economics Class"]
groups_list.each_with_index do |name, index|
"g#{index}" = u.groups.create(name: name)
end
Run Code Online (Sandbox Code Playgroud)
当你开始需要动态定义的局部变量时,你会有代码味道,并且你知道你应该重新考虑你正在做什么.
看起来你会更好地通过map调用,将groups_list一个字符串数组转换为一个Group属于u以下对象的数组:
groups_list.map { |name| u.groups.create name: name }
#=> [<Group name="Math Club">, …]
Run Code Online (Sandbox Code Playgroud)
然后你可以迭代组或将它们作为数组传递给另一个方法,不涉及任何技巧.
| 归档时间: |
|
| 查看次数: |
611 次 |
| 最近记录: |