Rails: метод экземпляра модели или вспомогательный метод?

По соглашению, следует ли определять следующее как метод экземпляра моей модели или вспомогательный метод?

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

or

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

Большое спасибо.


person gjb    schedule 15.07.2011    source источник
comment
Более общая / без примера кода версия этого вопроса: stackoverflow.com/questions/5019794/   -  person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 22.07.2014
comment
Лучший вариант - ведущий / декоратор ИМХО   -  person Ilya    schedule 03.10.2017


Ответы (2)


Выбирайте первый (оставайтесь в модели), потому что вы можете делать другие вещи, например, комбинированные индексы :)

person kain    schedule 15.07.2011

Все, что напрямую связано с вашей моделью, должно оставаться в вашей модели.

Таким образом, вы сохраните последовательную логику и тесты.

person apneadiving    schedule 15.07.2011