【发布时间】:2015-09-19 01:42:00
【问题描述】:
在我们应用的用户模型中,我们已经有:
attr_accessor :remember_token, :activation_token, :reset_token
before_save :downcase_email
before_create :create_activation_digest
before_save { self.email = email.downcase }
validates :first_name, presence: true, length: { maximum: 50 }
validates :last_name, presence: true, length: { maximum: 50 }
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, length: { maximum: 255 },
format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
has_secure_password
validates :password, presence: true, length: { minimum: 6 }, allow_nil: true
现在,我们需要给模型添加关系关联,即:
has_many :roles, dependent: :destroy
has_many :agendas, through: :roles
我们是否在模型中将后者包含在前者之前或之后?
如果是,推荐/首选/最佳方式是什么?
【问题讨论】:
-
不,没关系。首选方式是最易读的。通常是一个部分中的关联,另一个中的验证,另一个中的回调。并保持一致。
标签: ruby-on-rails ruby-on-rails-4 model-view-controller database-design model