2012-06-25 15 views
5

अक्षम करें मैं एक चुनिंदा टैग अक्षम करने की कोशिश कर रहा हूं। हमारे डेटाबेस गुणों को भरने के विकल्प बल्कि पूर्णांक की सरणी को भरने के विकल्प, इसलिए संग्रह_ चयन इस स्थिति में काम नहीं कर रहा है।रेल - अक्षम टैग

तकनीक 1:

select_tag(:zev_qty, options_for_select(display_quantity(@order_subject_supplies_request.site), {:disabled => display_quantity(@order_subject_supplies_request.site)})) 

def display_quantity(site) 
    if site 
    site.open_site? ? [[0,0],[1,1],[2,2]] : [[0,0],[1,1]] 
    else 
    [] 
    end 
end 

ऊपर नहीं है कि मैं क्या चाहता हूँ। यह विकल्पों को अक्षम करता है जो चयन टैग नहीं है।

तकनीक 2:

f.select(:zev_qty, display_quantity(@order_subject_supplies_request.site), {:disabled => true}) 
    def display_quantity(site) 
    if site 
     site.open_site? ? [0,1,2] : [0,1] 
    else 
     [] 
    end 
    end 

से काम नहीं होता। कोई भी विकल्प अक्षम नहीं है।

सही मान दोनों ही मामलों में ड्रॉपडाउन में प्रदर्शित करते हैं, चयन टैग अक्षम किया गया है नहीं, और ध्यान दें कि इस उदाहरण में, मैं सिर्फ सच करने के लिए विकलांग निर्धारित करते हैं, लेकिन निश्चित रूप से मैं सशर्त चयन टैग अक्षम करने होंगे।

उत्तर

12

चयन पद्धति के रूप में

f.select(method, choices, options = {}, html_options = {}), 

परिभाषित किया गया है तो अपने दूसरे प्रयास में, लगभग सही था, सिवाय इसके कि विकलांग विकल्प एक हैश क्रम में विशेषता के रूप में लागू करने के लिए में चौथे पैरामीटर है कि में निर्दिष्ट किया जाना चाहिए टैग का चयन करें।