Ruby on rails Rails 3:创建二维散列并从循环中添加值

Ruby on rails Rails 3:创建二维散列并从循环中添加值,ruby-on-rails,ruby,arrays,ruby-on-rails-3,hash,Ruby On Rails,Ruby,Arrays,Ruby On Rails 3,Hash,我有两种型号: class Project < ActiveRecord::Base has_many :ticket attr_accessible .... end class Ticket < ActiveRecord::Base belongs_to :project attr_accessible done_date, description, .... end 我不知道我的方法是否正确(可能使用.map而不是where查询),但如何通过检查索引是否已经

我有两种型号:

class Project < ActiveRecord::Base
  has_many :ticket
  attr_accessible ....
end

class Ticket < ActiveRecord::Base
  belongs_to :project
  attr_accessible done_date, description, ....
end
我不知道我的方法是否正确(可能使用.map而不是where查询),但如何通过检查索引是否已经存在来完成并将值放入哈希中


Thanx:)

我以前也需要做同样的工作,下面的解决方案并不完美,但应该可以做到:

Ticket.where(:project_id => params[:id]).where("done_date IS NOT NULL").group_by {|t| t.done_date}.map {|k,v| [k => v.map {|vv| vv.value}] }.flatten.first

这不是有效的散列。请尝试
@tickets.all.group_by{t|t.done_date}
Thanx我不需要。展平。首先,它会工作!Thanx很多:)
Ticket.where(:project_id => params[:id]).where("done_date IS NOT NULL").group_by {|t| t.done_date}.map {|k,v| [k => v.map {|vv| vv.value}] }.flatten.first