Rails Custom Plugin/GEM مع الجزئية
-
26-09-2019 - |
سؤال
أنا أكتب جوهرة توفر للمساعدين للآراء. HTML أريد إدراجه عبر المساعد معقدًا بما يكفي لدرجة أنني أفضل كتابته في ملف _partial.html.erb. كيف يمكنني الحصول على مسار عرض الأحجار الكريمة في تطبيق LOAD_PATH؟
ملاحظة: الجوهرة الوحيدة التي وجدت أنها تفعل شيئًا كهذا. عندما لا يمكن العثور على عرض ، يقوم Rails بطباعة مسار التحميل الذي يبدو (على جهاز بلدي):
Missing partial sortable_nested_set/tree with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en, :en]} in view paths "/home/jason/VirtualRestaurant3/app/views", "/home/jason/.rvm/gems/ruby-1.9.2-preview3/gems/devise-1.1.rc0/app/views"
كيف يمكن أن تفعل ذلك؟
جوهرة بلدي: http://github.com/jrmurad/sortablenstersetوضع جوهرة: +http: //+github.com/plataformatec/devise
المحلول
إذا وضعت دليل "التطبيق" في الدليل الأساسي للمكون الإضافي الخاص بك ، فستضيف Rails تطبيق/طرق عرض إلى مسار العرض افتراضيًا.
.
├── app
│ └── views
│ └── plugin_name
│ └── _my_partial.html.erb
ثم يمكنك جعل الجزئي من طريقة المساعد المكون الإضافي الخاص بك مع:
render :partial => "plugin_name/my_partial"
لاحظ أن Rails لا تجعل المشاهدات متاحة افتراضيًا في بيئة اختبار البرنامج المساعد. لتضمينهم هناك أضف ما يلي إلى اختبار/test_helper.rb:
ActionController::Base.prepend_view_path File.dirname(__FILE__) + "/../app/views"