forked from eifion/asciicasts.com-translations
/
it.html
executable file
·21 lines (20 loc) · 1.35 KB
/
it.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<p>Ecco un modo molto utile per eseguire una <code>Find</code> in Rails. Qui sotto c’è un modello <code>Task</code> che recupera i task che non completati (la cui colonna <code>complete</code> vale <code>false</code>).</p>
<code class="ruby">
class TaskController < ApplicationController
def incomplete
@tasks = Task.find(:all, :conditions => ['complete = ?', false])
end
def last_incomplete
@task = Task.find(:first, :conditions => ['complete =?', false], :order => 'created_at DESC')
end
end
</code>
<p>C’è un modo migliore per ottenere lo stesso effetto con la <code>find_by_all</code>. E’ sufficiente sostituire</p>
<code class="ruby">@tasks = Task.find(:all, :conditions => ['complete = ?', false])</code>
<p>con</p>
<code class="ruby">@tasks = Task.find_all_by_complete(false)</code>
<p>Se si vuole recuperare un solo <code>Task</code>, basta usare <code>find_by</code>, che recupera l’ultimo task incompleto. La linea</p>
<code class="ruby">@task = Task.find(:first, :conditions => ['complete =?', false], :order => 'created_at DESC')</code>
<p>diventa dunque</p>
<code class="ruby">@task = Task.find_by_complete(false, :order => 'created_at DESC')</code>
<p>Il metodo <code>find_by</code> accetta il parametro <code>order</code> proprio come il metodo <code>find</code>.</p>