سؤال

عندما يتم حفظ الصورة ، يتم حفظ ارتفاع وعرض الصورة في النموذج بشكل صحيح. لدي مطلب حيث أحتاج إلى التحقق من صحة أبعاد الصورة قبل الحفظ. يجب أن يكون بالضبط نفس الأبعاد. ولكن عندما أحاول الوصول إلى الارتفاع أو العرض قبل الحفظ ، فإنه يعطيني لا شيء.

هل هناك أي طريقة يمكنني من خلالها تحقيق ذلك؟

في الوقت الحالي ، أعطي تحذيرًا بعد الادخار ، وأن الصورة ليست من الأبعاد المطلوبة. ولكن هذا ليس أنيق بما فيه الكفاية.

هل كانت مفيدة؟

المحلول 2

إستعملت after_validation. before_validation لا يعمل بالنسبة لي. إذن ما فعلته بشكل أساسي هو فحص الأبعاد في after_validation ربط وضع أخطاء باستخدام @image.errors.add_to_base("The image needs to be of precisely 137x52 pixels."). وحفظت الصورة بالطريقة التالية.

@image.valid? # Run the validations, which calls my hook method after_validation
@image.save if @image.errors.empty?

نصائح أخرى

لست متأكدًا من antainment_fu ، لكن الصورة الحقيقية ربما تكون حفظ في أ before_save أو after_save. يتم تشغيل التحقق من الصحة قبل حفظ الصور.

إستخدم before_validation رد الاتصال لإجبار معالجة الصورة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top