レールとモデルの検証
-
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
次の 2 つのことが検証されます。
library_id
存在します- ある
Library
与えられたものと一緒にid
存在します
使用する validates_presence_of :library_id
2 つのうちの最初の検証のみが提供されます。
これに加えて、なしのバージョン _id
両方のレコードが新しいかどうかも正しく検証されます (したがって、 library_id
まだ未設定です)。
所属していません StackOverflow