ruby-on-rails - 带 ruby​​ on rails 的多维数组

标签 ruby-on-rails ruby

我必须重新排序我的目的地散列,所以我想在这样的数组中创建一个数组:

@orderedDestinations = Array.new 
@destinations.each do |destination|
  if (destination.position != nil)
    @orderedDestinations[destination.position][destination.id] = destination
  end
end

我遇到了这个错误:

You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.[]=

我做错了什么?

最佳答案

如果你想按 Destination#position@destinations 进行排序,你应该这样做:

@orderedDestinations = @destinations.sort_by(&:position)

http://ruby-doc.org/core-1.9.2/Enumerable.html#method-i-sort_by

完成交易。

关于ruby-on-rails - 带 ruby​​ on rails 的多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7809785/

相关文章:

javascript - 根据 Rails 中的第一个选择列表值更改第二个选择列表

ruby-on-rails - ruby rails : provide vs content_for

ruby-on-rails - 我更新了 ruby​​ gems,现在到处都收到解析树错误和弃用警告!

ruby-on-rails - 几号?使用Elasticsearch和Tire困于45,338年

ruby-on-rails - 带有自定义 rails 表单生成器的额外字段

ruby-on-rails - Varnish 缓存 http 301 302 header 位置重定向

ruby - 为什么我的 Ruby 'ri' 工具不在命令提示符中返回结果?

ruby-on-rails - 学习 Ruby on Rails。网上商店/在线购物车网络应用程序

ruby-on-rails - Ruby - 从不同的服务器复制图像

ruby-on-rails - Ruby on Rails - 按 has_many 关系的字段排序对象