# Array::index broken

**URL:** <https://www.ruby-forum.com/t/array-index-broken/147372>\
**Category:** Rails\
**Created:** [September 1, 2008, 5:21am UTC](https://www.ruby-forum.com/t/array-index-broken/147372 "2008-09-01T05:21:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Glen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/8c91f0/32.png) [@Glen](https://www.ruby-forum.com/u/Glen)\
**Post date:** [September 1, 2008, 5:21am UTC](https://www.ruby-forum.com/t/array-index-broken/147372/1 "2008-09-01T05:21:23Z")

</div>

Is there a way to call Array::index in Rails???

This is what I want to do:

@photos.map do |value|  
@photos.index(value)%5 == 0 ? (@sorted\_photos[i += 1] ||= []) \<\<  
value : (@sorted\_photos[i] ||= []) \<\< value  
end

However Rails is hijacking the index method call and breaking.

---

<div class="post-metadata">

**Author:** ![Glen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/8c91f0/32.png) [@Glen](https://www.ruby-forum.com/u/Glen)\
**Post date:** [September 1, 2008, 5:41am UTC](https://www.ruby-forum.com/t/array-index-broken/147372/2 "2008-09-01T05:41:16Z")

</div>

It would appear you can’t call each\_with\_index from a controller  
either. Is there any way to actually do this?

---

<div class="post-metadata">

**Author:** ![Glen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/8c91f0/32.png) [@Glen](https://www.ruby-forum.com/u/Glen)\
**Post date:** [September 1, 2008, 6:27am UTC](https://www.ruby-forum.com/t/array-index-broken/147372/3 "2008-09-01T06:27:26Z")

</div>

Quoting G. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> > ```
> > @photos.index(value)%5 == 0 ? (@sorted_photos[i += 1] ||= []) <<
> > 
> > ```
> > 
> > value : (@sorted\_photos[i] ||= []) \<\< value  
> > end
> > 
> > However Rails is hijacking the index method call and breaking.

Array::each\_index() works for me in a model. Are you sure of operator  
precedence and grouping? Try fully parenthesizing the expressions.

Jeffrey

---

<div class="post-metadata">

**Author:** ![Glen](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/8c91f0/32.png) [@Glen](https://www.ruby-forum.com/u/Glen)\
**Post date:** [September 1, 2008, 6:39am UTC](https://www.ruby-forum.com/t/array-index-broken/147372/4 "2008-09-01T06:39:42Z")

</div>

My fault. I was forgetting to set @sorted\_photos ||= [].
