MaxReve نشر 25 نوفمبر 2015 أرسل تقرير نشر 25 نوفمبر 2015 لدي اسم صنف وأريد إنشاء مثيل لذلك الصنف حتى أتمكن من التكرار داخل جميع سمات ريلز الموجودة في مخطط الصنف، فكيف أستطيع فعل ذلك؟أملك اسم الصنف كسلسلة نصية للصنف الذي أحتاج إلى التأكد منه. اقتباس
0 هشام رزق الله نشر 25 نوفمبر 2015 أرسل تقرير نشر 25 نوفمبر 2015 هنالك عدّة طرق في روبي لإنشاء مثيل صنف من اسمه على شكل سلسلة نصية، فإذا كنت تستخدم ريلز على سبيل المثال، استعمل الدالة constantize وهي أسهل وأقصر الطرق كما تبدو في المثال التالي:clazz = 'ExampleClass'.constantize لو لم ترد استخدام ريلز فيمكنك استعمال دالة const_get في روبي كما في المثال التالي:clazz = Object.const_get('ExampleClass') أما في حالة وجود وحدات كما في المثال التالي:module Foo class Bar end end فيمكنك استخدام هذه الطريقة:> clazz = 'Foo::Bar'.split('::').inject(Object) {|o,c| o.const_get c} => Foo::Bar > clazz.new => #<Foo::Bar:0x0000010110a4f8> اقتباس
السؤال
MaxReve
لدي اسم صنف وأريد إنشاء مثيل لذلك الصنف حتى أتمكن من التكرار داخل جميع سمات ريلز الموجودة في مخطط الصنف، فكيف أستطيع فعل ذلك؟
أملك اسم الصنف كسلسلة نصية للصنف الذي أحتاج إلى التأكد منه.
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.