# Passing values from controller to partial

**URL:** <https://www.ruby-forum.com/t/passing-values-from-controller-to-partial/189089>\
**Category:** Rails\
**Created:** [May 24, 2010, 11:52am UTC](https://www.ruby-forum.com/t/passing-values-from-controller-to-partial/189089 "2010-05-24T11:52:35Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![drk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/b5ac83/32.png) [@drk](https://www.ruby-forum.com/u/drk)\
**Post date:** [May 24, 2010, 11:52am UTC](https://www.ruby-forum.com/t/passing-values-from-controller-to-partial/189089/1 "2010-05-24T11:52:35Z")

</div>

Hii  
How can i pass array of values from the controller to partial.

def dispfriends  
@myfriend=[]  
@myfriendlogin = []  
@myusers=[]

i=0  
@currentgroup = Group.find\_by\_id(params[:groupid])

puts @currentgroup.id

@currentfriends=  
GroupFriend.find\_all\_by\_user\_id\_and\_group\_id(current\_user.id,  
@currentgroup.id)

for n in @currentfriends  
@myfriend=n.friend\_id  
puts @myfriend  
@myusers = User.find\_by\_id(@myfriend)  
@myfriendlogin[i]=@myusers.id  
puts @myfriendlogin[i]  
i=i+1

end

I can print @myfriendlogin (id, name, address) individually and show the  
value in the view. But,

My requirement is I need to pass complete @myusers array to my view.

Please help like how can i pass all the fields in @myusers.

Please help. thank you.

---

<div class="post-metadata">

**Author:** ![drk](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/b5ac83/32.png) [@drk](https://www.ruby-forum.com/u/drk)\
**Post date:** [May 24, 2010, 2:15pm UTC](https://www.ruby-forum.com/t/passing-values-from-controller-to-partial/189089/2 "2010-05-24T14:15:30Z")

</div>

Ravi D. wrote:

> Hii  
> How can i pass array of values from the controller to partial.

Just like you’d pass any other variable to any other view. No  
difference.

> def dispfriends  
> @myfriend=[]  
> @myfriendlogin = []  
> @myusers=[]

This is terrible controller code. To start with, the name of the method  
is bad.

> i=0  
> @currentgroup = Group.find\_by\_id(params[:groupid])
> 
> puts @currentgroup.id
> 
> @currentfriends=  
> GroupFriend.find\_all\_by\_user\_id\_and\_group\_id(current\_user.id,  
> @currentgroup.id)

No! Use associations for this.

> for n in @currentfriends  
> @myfriend=n.friend\_id  
> puts @myfriend  
> @myusers = User.find\_by\_id(@myfriend)  
> @myfriendlogin[i]=@myusers.id  
> puts @myfriendlogin[i]  
> i=i+1

That’s not how you do it in Ruby. Learn about Array methods such as  
each and collect.

> end
> 
> I can print @myfriendlogin (id, name, address) individually and show the  
> value in the view. But,
> 
> My requirement is I need to pass complete @myusers array to my view.
> 
> Please help like how can i pass all the fields in @myusers.

It’s just a variable. Pass it like any other variable.

> Please help. thank you.

## Best,

Marnen Laibow-Koser  
[http://www.marnen.org](http://www.marnen.org)  
removed\_email\_address@domain.invalid
