Rails:模型实例方法还是辅助方法?

gjb*_*gjb 12 ruby ruby-on-rails ruby-on-rails-3 rails-activerecord

按照惯例,是否应将以下内容定义为我的模型或辅助方法的实例方法?

# app/models/user.rb
class User < ActiveRecord::Base
  def full_name
    "#{first_name} #{last_name}"
  end
end
Run Code Online (Sandbox Code Playgroud)

要么

# app/helpers/users_helper.rb
module UsersHelper
  def full_name
    "#{@user.first_name} #{@user.last_name}"
  end
end
Run Code Online (Sandbox Code Playgroud)

非常感谢.

kai*_*ain 9

去第一个(保留在模型中),也因为你可能想做其他的东西,比如组合索引:)


apn*_*ing 5

与您的模型直接相关的所有内容都应保留在您的模型中.

这样,您就可以保持连贯的逻辑和测试.