यदि मेरे पास स्ट्रिंग में कोई विधि नाम है, तो रूबी में मैं गतिशील रूप से प्रेषण विधियों के लिए send
का उपयोग कर सकता हूं, उदा।क्या रूबी के भेजने के लिए जावास्क्रिप्ट/कॉफ़ीस्क्रिप्ट/jQuery में समतुल्य है?
method_name = "delete"
send method_name
मैं भी प्रक्षेप का लाभ ले सकते:
method_name = "add"
send "#{method_name}_task", args
2 कार्यों जावास्क्रिप्ट में परिभाषित किया गया, एक को हटाने के लिए, एक है कुछ अद्यतन करने के लिए। प्रत्येक के लिए एक बटन गतिशील रूप से जोड़ा गया है और, फिलहाल, हटाएं विधि button.on "click"
के माध्यम से बाध्य हो जाती है, उदा।
b.on "click", (event) ->
event.preventDefault() # stop submission via postback
this_button = $(this)
task_id = this_button.data("task-id")
delete_task(task_id, this_button)
false
मैं यह करने के लिए सक्षम होने के लिए करना चाहते हैं:
method_name = "delete"
b.on "click", (event) ->
event.preventDefault() # stop submission via postback
this_button = $(this)
task_id = this_button.data("task-id")
send "#{method_name}_task", task_id, this_button
false
2 कार्यों के बंधन के बीच फर्क सिर्फ इतना है कि यह एक पंक्ति है। यदि कोई स्पष्ट तरीका है, तो पुनरावृत्ति पर कटौती करने में मददगार होगा। मुझे अपनी खोजों में कुछ भी नहीं मिला है, इसलिए अगर कोई मदद कर सकता है तो इसकी बहुत सराहना की जाएगी।
आप कॉफ़ीस्क्रिप्ट कोड में क्या भेज रहे हैं? रूबी उदाहरणों में आपके पास 'obj' है। – Esailija
@Esailija क्षमा करें अगर यह स्पष्ट नहीं था, तो मैं जावास्क्रिप्ट में किसी ऑब्जेक्ट का उपयोग नहीं कर रहा हूं। रूबी स्वचालित रूप से स्वयं का उपयोग करता है, इसलिए उदाहरण में कोई वस्तु की आवश्यकता नहीं है, मैंने सोचा कि यह स्पष्ट होगा। मैं इसे बदल दूंगा, धन्यवाद। – iain
"रूबी स्वचालित रूप से स्वयं का उपयोग करता है _if कोई रिसीवर स्पष्ट रूप से दिया गया है_" मुझे ऊपर लिखा जाना चाहिए था। – iain