关联模型属性继承

时间:2017-02-28 01:53:10

标签: ruby-on-rails associations

这里的Rails新手。我的关联模型Venueclass Team < ApplicationRecord has_many :home_venues, class_name: "Venue" end 的定义如下:

class Venue < ApplicationRecord
  belongs_to :team, optional: true, foreign_key: :team_id
end

:city

两个模型都有:regionteam.home_venues.create属性。当我致电:city时,我希望新创建的:region的{​​{1}}和venue值默认为:city:region除非另有说明,否则创建team的值。

实现此功能的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我会使用before_validation hook - 这样你就可以确保在正确的时间运行所有验证。在Venue模型中:

before_validation :set_default_values

def set_default_values
  self.city ||= self.team.try(:city)
  self.region ||= self.team.try(:region)
end