مشبك + غرفتر
-
05-07-2019 - |
سؤال
ولقد وجدت هذا البرنامج التعليمي (<لأ href = "http://www.coffeepowered.net/2009/02/15/graceful-degredation-using-gravatar-as-a-fallback-avatar-with-paperclip / "يختلط =" noreferrer نوفولو "> http://www.coffeepowered.net/2009/02/15/graceful-degredation-using-gravatar-as-a-fallback-avatar-with-paperclip/ ) حول تنفيذ غرفتر كصورة افتراضية إلى نموذج تمكين مشبك الورق، ولكن على تنفيذ أرى الرسالة "طريقة غير محدد` مباراة "ل[: الشكل، و: بابوا نيو غينيا]: صفيف". ما الخطأ في هذه المقالة؟
المحلول
ولقد حدثنا شفرة لجعل من الأسهل بالنسبة لك لفهم والتصحيح.
Paperclip.interpolates(:gravatar_url) do |attachment, style|
size = nil
# style should be :tiny, :small, or :regular
# size_data is assumed to be "16x16#", "20x20#", or "25x25#", i.e., a string
size_data = attachment.styles[style][:geometry]
if size_data
# get the width of the attachment in pixels
if thumb_size = size_data.match(/\d+/).to_a.first
size = thumb_size.to_i
end
end
# obtain the url from the model
# replace nil with "identicon", "monsterid", or "wavatar" as desired
# personally I would reorder the parameters so that size is first
# and default is second
attachment.instance.gravatar_url(nil, size)
end
نصائح أخرى
ملاحظة حصلت على الخطأ التالي عند محاولة هذا الحل:
NoMethodError: undefined method `first' for #<Hash:0xb6476178>
from /home/bob/dev/Firehoze/app/models/user.rb:114:in `gravatar_url'
وأنا حلها عن طريق استبدال السطر:
size_data = attachment.styles[style].first
مع
size_data = attachment.styles[style][:geometry]
Paperclip.interpolates :gravatar_url do |attachment, style|
attachment.instance.gravatar_url(attachment.styles[style][:geometry].split('x').first)
end
إذا كنت لا تزال لدينا مشكلة، قد تتمكن من محاولة ل الرمزية الأحجار الكريمة، والتي تدعم سلسلة من طرق الرمزية المختلفة، بما في ذلك مشبك الورق وغرفتر.
ملحوظة: هذا هو جزء من المكونات وقح، منذ كتبت الشيء