Can you paste what you have in your index method?
You should not be getting this error because we have already defined @pic as
an empty array.


On Tue, Jun 21, 2011 at 8:10 PM, joanne ta <[email protected]> wrote:

>
>
> On Tue, Jun 21, 2011 at 10:27 AM, Chirag Singhal <[email protected]
> > wrote:
>
>> Oh yes... sorry about that.
>> I assumed that you will find picture for every query.
>>
>> You can try this instead:
>>  def index
>>   @users= User.all
>>   @pic = []
>>
>>   @users.each do |p|
>>     @pic << Picture.where(:phrase_id => :route , :culture_id =>
>> p.culture_id).limit(1)
>>   end
>>   @pic.compact!
>> end
>>
>> by calling compact! on the array, we will eliminate all nil object.
>>
>> On another note, are you sure, this is what you want to do? If you have
>> 100 users, it will fire 100 sql queries which is not good.
>>
>> Yes i think i have that problem as well because if i remove  "@users.each
> do |p|    "
> and then it will cause undefined method of culture_id..
> plus when i call @pic.compact! , it gives me
>
> NoMethodError (You have a nil object when you didn't expect it!
> You might have expected an instance of Array.
> The error occurred while evaluating nil.compact!):
>   app/controllers/patients_controller.rb:29:in `index'
>
> what is mean? cuz i want to display picture on the browser too...
>
> please help... thank you very much
>
> Joanne
>
>>
>>
>> On Tue, Jun 21, 2011 at 7:42 PM, joanne ta <[email protected]> wrote:
>>
>>> it does not work, it is complaining other error
>>>
>>> NoMethodError (undefined method `image' for [nil]:Array):
>>>   app/controllers/patients_controller.rb:27:in `block in index'
>>>   app/controllers/patients_controller.rb:25:in `each'
>>>   app/controllers/patients_controller.rb:25:in `index'
>>>
>>>
>>>
>>> On Tue, Jun 21, 2011 at 9:57 AM, Chirag Singhal <
>>> [email protected]> wrote:
>>>
>>>> Your index action should be something like this:
>>>>
>>>> def index
>>>>   @users= User.all
>>>>   @pic = []
>>>>
>>>>   @users.each do |p|
>>>>     @pic << Picture.where(:phrase_id => :route , :culture_id =>
>>>> p.culture_id).limit(1)
>>>>   end
>>>> end
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Ruby on Rails: Talk" group.
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msg/rubyonrails-talk/-/B259TKI0970J.
>>>>
>>>> To post to this group, send email to [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected].
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/rubyonrails-talk?hl=en.
>>>>
>>>
>>>
>>>
>>> --
>>> --------------------------------
>>>
>>> Thank you,
>>>
>>> Yen
>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google Groups
>>> "Ruby on Rails: Talk" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> For more options, visit this group at
>>> http://groups.google.com/group/rubyonrails-talk?hl=en.
>>>
>>
>>
>>
>> --
>> Chirag
>> http://sumeruonrails.com
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Ruby on Rails: Talk" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/rubyonrails-talk?hl=en.
>>
>
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>



-- 
Chirag
http://sumeruonrails.com

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to