1. Remove the send_data line, it isn't required.
2. Can you check if there are any records in your pictures table? Right now
it looks like it is returning nil.


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

>
>
> 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.
>>
>>
>
>
>>  def index
>>
>>     @users= User.all
>>     @pic= []
>>
>>     @users.each do |p|
>>     @pic<< Picture.where(:phrase_id => :route , :culture_id =>
>> p.culture_id).first
>>
>>     end
>>
>>     @pic.compact!
>>     send_data @pic.image, :type => 'image/png', :disposition => 'inline'
>>
>>   end
>>
>>
>> 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.
>>
>
>
>
> --
> --------------------------------
>
> 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.

Reply via email to