मैं एक सनस्पॉट/एसओएलआर परिणाम सेट आउटपुट करने के लिए आरएबीएल का उपयोग कर रहा हूं और खोज परिणाम ऑब्जेक्ट कई मॉडल प्रकारों से बना है। वर्तमान में राबल दृश्य में मेरे पास है:रैबल मल्टी-मॉडल संग्रह
object false
child @search.results => :results do
attribute :id, :resource, :upccode
attribute :display_description => :description
code :start_date do |r|
r.utc_start_date.to_i
end
code :end_date do |r|
r.utc_end_date.to_i
end
end
child @search => :stats do
attribute :total
end
उपरोक्त एक मॉडल के लिए काम करता है; हालांकि, जब कई मॉडल प्रकार @ search.results संग्रह में होते हैं, तो यह विफल रहता है क्योंकि दोनों वर्गों में एक ही उदाहरण विधियां नहीं होती हैं। क्या किसी को पता है कि इस प्रकार के आधार पर अलग-अलग विशेषताएं कैसे हैं? आखिरकार, वस्तु के प्रकार के आधार पर परिणाम संग्रह के भीतर सशर्त रूप से एक अलग टेम्पलेट का विस्तार करना अच्छा लगेगा। नीचे छद्म कोड की तरह कुछ:
child @search.results => :results do |r|
if r.class == Product
extends "product/base"
else
extends "some other class base"
end
end
धन्यवाद नाथन - यह पूरी तरह से काम करता है! वास्तव में मदद की सराहना करते हैं - और आंशिक चीज चीजों को वास्तव में साफ रखती है। – ejlevin1
धन्यवाद, यह वास्तव में मेरी मदद की –