在rails上的ruby中组织模型代码的最佳实践

时间:2015-08-30 21:02:00

标签: ruby-on-rails ruby-on-rails-4

在rails模型中,我们可以在单个文件中编写很多东西。 (样本模型)

样本模型:

class Payment < ActiveRecord::Base

  # Database Assosication
  has_many :post
  belongs_to :user

  # Filter
  before_save :check_full_name

  # Validation
  validates_presence_of :name

  # Scope
  scope :is_paid, -> { where(:status => 'paid') }

  # Constents
  STATUS = {
      :paid => 'paid',
      :pending => 'pending',
      :failed => 'failed'
  }

  # Methods
  def get_name
    # sample code goes here
  end

end

在模型中,我们使用数据库关联,过滤,验证,范围,功能。

但是组织我的模型的最佳方法是什么。

我的意思是应该先进行协会?或验证或范围?

1 个答案:

答案 0 :(得分:2)

我不知道是否有最佳实践指南。我将分享我的经验。

我的工作是:

  1. 将所有constants放在顶部。
  2. 然后,放置filtersvalidators
  3. 然后,全部associations
  4. 接下来,全部是scopes
  5. 之后,所有methods
  6. 此外,在放置它们时,我们将它们按名称的字母顺序排列。

    我们在代码库中遵循这种结构,它对我们很有用。但是,真的是个人/团队在模型中组织事物的选择。