12

By convention, should the following be defined as an instance method of my model or a helper method?

# 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

Many thanks.

2

2 Answers 2

9

Go with the first (keep in model), also because you might want to do other stuff, like combined indexes :)

Sign up to request clarification or add additional context in comments.

Comments

5

Everything directly related to your model should stay in your model.

This way, you keep coherent logic and tests.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.