سؤال

أحاول كتابة تطبيق Rails حيث يمكن للمستخدمين تحميل الصور ، ولكن يبدو أن PaperClip لا يعمل من أجلي.

لقد مررت بجميع الخطوات الأساسية (أضيفت has_attached_file ، الترحيل ، مما يجعل النموذج متعددة) ، لكنني ما زلت أحصل على نفس الخطأ كلما حاولت تحميل صورة:

لا يمكن تحويل شيء إلى عدد صحيح

النظر إلى الجزء العلوي من المكدس

... Rails3/lib/paperclip/Processor.rb: 46: in `Sprintf '

... Rails3/lib/paperclip/Processor.rb: 46: in `make_tmpname '

.../ruby-1.9.2-Head/lib/ruby/1.9.1/tmpdir.rb: 154: in `create '

.../ruby-1.9.2-Head/lib/ruby/1.9.1/tempfile.rb: 134: in `initial '

يبدو أن المشكلة في tempfile.

رمز بلدي:

_form.rb

<%= form_for @high_school, :html => {:multipart => true} do |f| %>
  <%= f.error_messages %>
  ...
  <div class="field">
    <%= f.file_field :photo %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

نموذج/High_school.rb

...
validates_length_of :password, :minimum => 4, :allow_blank => true
has_attached_file :photo
has_many :students
...

هل هي مشكلة معروفة؟ لقد اتبعت بشكل أساسي التعليمات من github إلى الرسالة.

بيئتي: Rails3 و Ruby 1.9.2dev

شكرًا لك!

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

المحلول

لا أعتقد أن Paperclip يدعم Ruby 1.9 حتى الآن.

حاول الانخفاض إلى Ruby 1.8.7 ومعرفة ما إذا كانت المشكلة لا تزال موجودة.

نصائح أخرى

عليك تطبيق هذا التصحيح http://github.com/dwalters/paperclip/commit/2a85add5f102db8773518f8ac30f7e2337bf7d13 للحصول على paperclip يعمل على 1.9.2 رأسًا للا يمكن تحويله إلى خطأ عدد صحيح

تم إصلاح هذا الآن في الإصدار 2.3.3 من paperclip. انظر هذا الالتزام:https://github.com/theagtbot/paperclip/commit/1bcfc14388d0651c5fc70ab9ca3511144c698903

هنا شخص ما لديه مشكلة مماثلة لك مع paperclip على Ruby 1.9 (ولكن لا يوجد حل). لذلك ربما تكون مشكلة مع روبي.

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