2014-04-12 10 views
5

द्वारा समूह में एकाधिक सदस्यों को जोड़ने के लिए कैसे मैं शेफ द्वारा समूह में एकाधिक सदस्यों को जोड़ सकता हूं?शेफ

मैंने ऐसा करने की कोशिश की, लेकिन यह विफल हो गया।

group "git" do 
    action :modify 
    members "foo, bar" 
    append true 
end 

मैं इस तरह से कर सकते हैं, लेकिन members एकाधिक उपयोगकर्ताओं को स्वीकार करने लगता है। मुझे इसे कैसे प्रयोग में लाना है?

%w(foo bar).each do |m| 
    group "git" do 
    action :modify 
    members m 
    append true 
    end 
end 
+1

अल्पविराम से अलग दृष्टिकोण पर आपको क्या त्रुटि मिलती है? क्या आपने सरणी वाक्यविन्यास की कोशिश की है? –

+0

@ पैट्रिक धन्यवाद, 'सदस्य ["foo", "bar"]' काम करता है! – ironsand

उत्तर

5

अधिकांश तर्क जो मानक रूबी सरणी वाक्यविन्यास के साथ शेफ में एकाधिक इनपुट स्वीकार करते हैं। मुझे अभी एक उदाहरण नहीं मिल रहा है, और यह बहुत निराशाजनक है कि group docs एकाधिक उपयोगकर्ताओं का उदाहरण प्रदान नहीं करता है। वास्तव में, वे सिर्फ

members इंगित करता है कि कौन से उपयोगकर्ताओं को समूह में सेट या संलग्न किया जाना चाहिए।

और केवल एकल उपयोगकर्ताओं के साथ उदाहरण प्रदान करें। उस ने कहा, members ["foo", "bar"] जाने का रास्ता होना चाहिए।

group "rbenv" do 
    action :manage 
    members ['member1','member2','member3'] 
end 

तुम भी एक खाली स्थान के सरणी से एक पाश इस्तेमाल कर सकते हैं:

3

यहाँ कई सदस्यों के साथ एक मानक समूह खंड है इस खाली स्थान के विकल्प विकल्प के साथ

%w{ erin john nick jenna kris }.each do |memberlist| 
    group "rbenv" do 
    action :manage 
    members memberlist 
    end 
end 

, अब आप पूरी तरह तैयार हैं या तो उस प्रकार के सरणी के साथ जारी रखने के लिए, या शेफ डेटा बैग या यहां तक ​​कि एक MySQL डेटाबेस से एक सरणी प्राप्त करने के लिए। मेरे मामले में, शेफ उपयोगकर्ताओं के बारे में जानकारी प्राप्त करने के लिए MySQL से जुड़ता है, और तदनुसार उन्हें प्रावधान करता है।

संबंधित मुद्दे