4

I have a Problem and a Solution model. Problem has many solutions and Solution belongs to problem.

I need to get the recently solved problem, that means, get the last X solutions and get it's problem. I'm pretty sure there's a way to do this with named_scopes but I can't figure it out.

Any help is really appreciated :-)

Thanks,

Nicolás Hock I.

Shadwell
  • 34,314
  • 14
  • 94
  • 99
Hock
  • 5,784
  • 2
  • 19
  • 25

2 Answers2

11

I actually got the named_scope working:

named_scope :solved_recently, :joins => :solutions, :order => "solutions.created_at DESC"
# Problem.solved_recently

Thanks anyway @Jacob :)

Jacob Relkin
  • 161,348
  • 33
  • 346
  • 320
Hock
  • 5,784
  • 2
  • 19
  • 25
2

I think this should work:

x = #some number
solutions = Solution.find(:all, :order => ['created_at desc'], :limit => x)
problems  = solutions.map {|solution|
   solution.problem
}
Jacob Relkin
  • 161,348
  • 33
  • 346
  • 320