我想提出一些模型水平上的验证以下表:

create_table :audios do |t|
  t.integer :library_id, :null => false
  t.string :file, :null => false, :limit => 2048
  t.string :name, :limit => 512
  t.timestamps
end

这是不是意味着,我的模型,该模型(至今)看起来像:

class Audio < ActiveRecord::Base
  belongs_to :library
end

class Audio < ActiveRecord::Base
  validates_presence_of :library
  ...

class Audio < ActiveRecord::Base
  validates_presence_of :library_id
  ...

?

有帮助吗?

解决方案

验证中存在的关联,使用其名称, 没有 _id 附:

validates_presence_of :library

它将验证两件事情:

  1. library_id 是本
  2. 一个 Library 与给予 id 存在

使用 validates_presence_of :library_id 只会给你的第一个验证的两个。

除此之外,该版本没有 _id 也将正确地验证,如果这两个记录新的(因此 library_id 仍然是取消).

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top