has_one psudorelationship返回has_many关系的最后一个?

时间:2014-10-09 20:23:59

标签: ruby-on-rails activerecord

我想在Model课程上建立关联。 Model has_many OtherModel s。我想在Model has_one :last_other_model上建立关联。

我能想到的最好的事情是has_one :last_other_model, class: 'OtherModel', limit: 1 - 但has_one不接受limit

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

Rails 4,尝试:

has_one :last_other_model, ->{ order 'some_field asc'}, class_name: 'OtherModel'

第二个参数是一个lambda,你可以在其中调用任何ActiveRecord方法进行过滤和排序,Rails将返回该集合的第一个,而不需要使用limit

你也可以将它翻译成Rails 3和2,当然语法也不同。