레일 및 모델 검증
-
19-09-2019 - |
문제
다음 표에 모델 레벨 검증을하고 싶습니다.
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
두 가지를 검증합니다.
library_id
존재합니다- ㅏ
Library
주어진id
존재합니다
사용 validates_presence_of :library_id
두 사람의 첫 번째 검증 만 제공합니다.
이 외에도 버전이없는 버전 _id
두 레코드가 모두 새로 사용되는 경우에도 올바르게 검증됩니다 (따라서 library_id
아직 없다).
제휴하지 않습니다 StackOverflow