Как выполнить поиск ActiveRecord и удалить всех, кроме определенной записи, из массива? - PullRequest
0 голосов
/ 11 октября 2011

Я только что попытался выполнить метод, но он не удался после удара по определенному объекту.

Зная атрибут электронной почты этого объекта, как я могу создать массив и ограничить возврат только теми объектами, которыепосле этого конкретного объекта?

Это проект Rails 2

Ответы [ 3 ]

1 голос
/ 11 октября 2011

Я бы сказал:

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

или для 1.9.2:

your_array.slice_before{|elt| elt.email == email }.first
0 голосов
/ 11 октября 2011

Это может помочь, так как где будут возвращаться все записи после id == id

id = SomeModel.where( :email => 'email_you@kn.ow' ).first.id

SomeModel.where( "id > ?", id )
0 голосов
/ 11 октября 2011

если у вас есть массив, попробуйте что-то вроде

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]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...