如何执行ActiveRecord搜索并从阵列中删除特定记录中的所有人?

时间:2011-10-11 14:42:35

标签: ruby-on-rails activerecord

我刚尝试执行某个方法,但在点击特定对象后失败了。

知道该对象的email属性,如何创建数组,并将返回限制为仅限于该特定对象之后的那些对象?

这是一个Rails 2项目

3 个答案:

答案 0 :(得分:1)

我会说:

your_array.take_while {|elt| elt.email != email }

或1.9.2:

your_array.slice_before{|elt| elt.email == email }.first

答案 1 :(得分:0)

如果你有一个数组尝试类似

irb(main):030:0> ary = [ 1, 2, 3, 4, 5, 6, 7 ]
=> [1, 2, 3, 4, 5, 6, 7]
irb(main):031:0> ary.values_at( ary.index(4)..-1 )
=> [4, 5, 6, 7]

答案 2 :(得分:0)

这可能会有所帮助,因为在id == id

之后将返回所有记录
id = SomeModel.where( :email => 'email_you@kn.ow' ).first.id

SomeModel.where( "id > ?", id )