特定のモデルオブジェクト内のすべての属性の実際の存在を検証する方法はありますか?または、各属性をリストする必要がありますpresence: true
か?
助けてくれてありがとう。
すべてのモデル属性の配列を取得するには、を使用できますYourModel.attribute_names
。ただし、レコード作成時の検証中にこれらが空白になるためid
、すべての属性(、などcreated_at
)の存在を実際に検証することはできません。
class YourModel < ActiveRecord::Base
NON_VALIDATABLE_ATTRS = ["id", "created_at", "updated_at"] #or any other attribute that does not need validation
VALIDATABLE_ATTRS = YourModel.attribute_names.reject{|attr| NON_VALIDATABLE_ATTRS.include?(attr)}
validates_presence_of VALIDATABLE_ATTRS
end
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加