# Domanda su metodo find\_by\_sql

**URL:** <https://www.ruby-forum.com/t/domanda-su-metodo-find-by-sql/148418>\
**Category:** IT\
**Created:** [September 12, 2008, 5:17pm UTC](https://www.ruby-forum.com/t/domanda-su-metodo-find-by-sql/148418 "2008-09-12T17:17:06Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![gismosio](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c2a13f/32.png) [@gismosio](https://www.ruby-forum.com/u/gismosio)\
**Post date:** [September 12, 2008, 5:17pm UTC](https://www.ruby-forum.com/t/domanda-su-metodo-find-by-sql/148418/1 "2008-09-12T17:17:06Z")

</div>

Ciao…

volevo sapere se qualcuno poteva spiegarmi al volo come utilizzare il  
metodo find\_by\_sql() in relazione alla vista…cioÃ¨…  
una volta effettuata la query dove devo mettere il risultato? e  
soprattuto cosa ritorna?  
ho giÃ provato ma nn funziona…dice che l’oggetto Ã¨ vuoto…

l’errore Ã¨ nella vista index  
NoMethodError in Blog#index

Showing blog/index.html.erb where line # raised:

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.each

fatemi sapere…(almeno questa volta)…

---

<div class="post-metadata">

**Author:** ![gismosio](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/c2a13f/32.png) [@gismosio](https://www.ruby-forum.com/u/gismosio)\
**Post date:** [September 12, 2008, 6:57pm UTC](https://www.ruby-forum.com/t/domanda-su-metodo-find-by-sql/148418/2 "2008-09-12T18:57:46Z")

</div>

On Fri, Sep 12, 2008 at 11:17 AM, Gabriele P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> Ciao…
> 
> volevo sapere se qualcuno poteva spiegarmi al volo come utilizzare il  
> metodo find\_by\_sql() in relazione alla vista…cioè…

La documentazione del metodo è disponibile qui:  
[http://apidock.com/rails/ActiveRecord/Base/find\_by\_sql/class](http://apidock.com/rails/ActiveRecord/Base/find_by_sql/class)

> una volta effettuata la query dove devo mettere il risultato? e  
> soprattuto cosa ritorna?

La query restituisce un array di istanze del modello su cui invochi il  
metodo. Se sai eseguendo Post.find\_by\_sql(“…”) questo ritorna un  
array di  
post. Se la query recupera valori per colonne che non appartengono alla  
tabella corrispondente al modello, questi verranno comunque aggiunti  
alle  
instanze del modello come attributi.

> 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.each

Devi assegnare il risultato di find\_by\_sql a una variabile di istanza  
nella  
definizione dell’azione index, per poi poterla recuperare nella View.

## Ciao, Antonio

[http://antoniocangiano.com](http://antoniocangiano.com) - Zen and the Art of Programming  
[http://belifesavvy.com](http://belifesavvy.com) - Be life savvy: Life’s missing manual  
[http://stacktrace.it](http://stacktrace.it) - Aperiodico di resistenza informatica  
Currently writing “Ruby on Rails for Microsoft Developers” for Wrox.
