سؤال

أرغب في تطبيق التصحيح Action_Mailer المذكور في هذا الموضوع لكني لم أقم بتطبيق التصحيح من قبل ولست متأكدا من كيفية عمل هذه:https://raina.lighthouseapp.com/projects/8994/tickets/2263.

GEM Action Mailer Gem هنا: / Opt/ruby-enterprise-1.8.6-20090421/lib/rouby/gems/1.8/gems/actionmailer-2.3.2

أفترض أنني بحاجة للذهاب إلى هذا الدليل وتشغيل أمر التصحيح ... شيء من هذا القبيل؟

cd /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/gems/
wget https://rails.lighthouseapp.com/attachments/108548/0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch
patch < 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch

شيء واحد أنا غير واضح حقا أيضا هو أن ملف التصحيح يشير إلى دليل "ActionMailer" ولكن لي يسمى الألغام "ActionMailer-2.3.2"

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

المحلول

أنت عادة لا تريد التصحيح مصدر الأحجار الكريمة نفسه. ربما تريد أن ترغب في تجميد الأحجار الكريمة في ${RAILS_ROOT}/vendor/rails, ثم قم بتطبيق التصحيح محليا.

من $ {Rails_root} dir، تفريغ كل القضبان الخاصة بك الأحجار الكريمة في البائع / القضبان

rake rails:freeze:gems

تطبيق التصحيح

  cd vendor/rails/ 
  patch -p1 < 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch

نصائح أخرى

إجابة ميكولسون أعلاه تعمل. ولكن لتصحيح الأحجار الكريمة الفعلية لجميع تطبيقات القضبان (انظر تعليقي على إجابته) هذا عملت:

cd /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/gems/actionmailer-2.3.2
wget sudo wget https://rails.lighthouseapp.com/attachments/108548/0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch
sudo patch -p2 < 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch
sudo rm 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch

اكتشفت أنه يمكنك أيضا عكس التصحيح مع -r إذا حدث خطأ. أنا مندهش هذه العملية لم يتم توثيقها بشكل أفضل في مكان ما. نأمل أن يؤدي ذلك إلى عمليات البحث في Google للأشخاص الجدد للتصحيح مثلي.

هنا هو قذيفة بطانة واحدة لتركيب جوهرة:

patch -d "$(gem env gemdir)"/gems/actionmailer-* -p1 < <(curl -s https://rails.lighthouseapp.com/attachments/108548/0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch)

مثال آخر باستخدام gist جوهرة:

patch -d "$(gem env gemdir)"/gems/gist-* -p1 < <(curl -s https://github.com/defunkt/gist/commit/5843e9827f529cba020d08ac764d70c8db8fbd71.patch)

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