2011-07-15 7 views
10

Per convenzione, è necessario definire quanto segue un metodo di istanza del mio modello o un metodo di supporto?Rails: metodo di istanza del modello o metodo di supporto?

# app/models/user.rb 
class User < ActiveRecord::Base 
    def full_name 
    "#{first_name} #{last_name}" 
    end 
end 

o

# app/helpers/users_helper.rb 
module UsersHelper 
    def full_name 
    "#{@user.first_name} #{@user.last_name}" 
    end 
end 

Molte grazie.

+0

Più generale/senza versione di esempio di codice di questa domanda: http://stackoverflow.com/questions/5019794/when-to-use-helpers-vs-model –

+0

L'opzione migliore è presentatore/decoratore IMHO – Ilya

risposta

8

andare con la prima (tenere a modello), anche perché si potrebbe desiderare di fare altre cose, come indici combinati :)

5

Tutto ciò che è direttamente correlato al modello deve rimanere nel modello.

In questo modo, si mantengono logiche e test coerenti.