has_many:通过关联

戴维德斯

指南中的示例,它具有关联模型中的其他属性

class CreateAppointments < ActiveRecord::Migration
  def change
    create_table :physicians do |t|
      t.string :name
      t.timestamps null: false
    end

    create_table :patients do |t|
      t.string :name
      t.timestamps null: false
    end

    create_table :appointments do |t|
      t.belongs_to :physician, index: true
      t.belongs_to :patient, index: true
      t.datetime :appointment_date
      t.timestamps null: false
    end
  end
end

模型约会具有验证:

class Physician < ActiveRecord::Base
  has_many :appointments
  has_many :patients, through: :appointments
end

class Appointment < ActiveRecord::Base
  belongs_to :physician
  belongs_to :patient

  validates :appointment_date, presence: true
end

class Patient < ActiveRecord::Base
  has_many :appointments
  has_many :physicians, through: :appointments
end

当我向医生添加患者时,some_physician.patient << some_patient我必须进行定义appointment_date如何正确做?

阿斯兰·阿里(Arslan Ali)

如何正确做?

我认为,您可以定义一个方法,然后将该方法传递给before_save回调。

class Appointment < ActiveRecord::Base
  before_save :set_appointment_date

  private
  def set_appointment_date
    self.appointment_date = Time.now
  end
end

这样,您appointment_date每次创建关系时就无需显式设置它将自动为您设置。

编辑: before_save如果以后要使用update约会对象,也会触发,尽管这种情况非常少见。但是它将更新appointment_date为此,您可以使用before_create回调,并且appointment_date在这种情况下将仅被触摸一次。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过关联通过has_many创建实例

来自分类Dev

查询双has_many:通过关联

来自分类Dev

has_many的Rails触摸链:通过关联

来自分类Dev

通过关联的has_many是否可以是多态的?

来自分类Dev

Rails 5 Postgresql has_many通过关联

来自分类Dev

通过关联的has_many的Rails渲染JSON

来自分类Dev

通过关联的has_many是否可以是多态的?

来自分类Dev

has_many多对多:通过关联嵌套形式

来自分类Dev

Rails通过关联删除has_many

来自分类Dev

has_many:通过关联-修改吗?

来自分类Dev

Rails has_many通过关联继承问题

来自分类Dev

查询双has_many:通过关联

来自分类Dev

Has_many通过关联-视图?控制器?

来自分类Dev

rails has_many:通过关联不起作用

来自分类Dev

Rails has_many 通过关联问题

来自分类Dev

Rails 4:结合has_many:通过关联与多态关联

来自分类Dev

活动记录关联 - 错误 w has_many:通过关联?

来自分类Dev

has_one,has_many并通过关联进行播种

来自分类Dev

has_many:通过关系操纵

来自分类Dev

Rails 4嵌套属性和has_many:通过关联形式

来自分类Dev

Rails 4活动记录模型has_many通过关联吗?

来自分类Dev

在has_many上,Rails 5 _ids数组的分配失败:通过关联

来自分类Dev

NoMethodError:has_many的未定义方法“用户”:通过关联

来自分类Dev

无法使用has_many通过关联将ID的数组插入联接表中

来自分类Dev

Rails-通过关联将has_many =>的名称作为字符串获取

来自分类Dev

通过关联无法使用has_many写入未知属性`followings_count`

来自分类Dev

Rails 4活动记录模型has_many通过关联吗?

来自分类Dev

NoMethodError:has_many的未定义方法“用户”:通过关联

来自分类Dev

在视图中显示联接表行(has_many通过关联)

Related 相关文章

热门标签

归档