আমি একটি খুব বিরক্তিকর ত্রুটি আছে আমি সংশোধন করতে মরিয়া। আমার একটি পুতুল মডিউল রয়েছে যেখানে কিছু জিনিস ইয়ামল ফাইল (হাইরা) এ রাখা হয় যাতে লোকেরা কেবল সেই অংশটি সম্পাদন করতে পারে।
কাঠামো বাসা বাঁধে।
এই জাতীয় টেমপ্লেট:
<%= @platforms[@platform]['users_allowed'][@host].class %>
এটি রেন্ডার করে:
Array
তবে যখন আমি এটির উপর পুনরাবৃত্তি করার চেষ্টা করব:
<% @platforms[@platform]['users_allowed'][@host].each do | pubkey | %>
<%= pubkey %>
<% end %>
পুতুল বলেছেন:
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed to parse template somemodule/templates/authorized_keys.erb:
Filepath: /etc/puppet/modules/somemodule/templates/authorized_keys.erb
Line: 1
Detail: undefined method `each' for nil:NilClass
এটি হঠাৎ কীভাবে শূন্য হয়ে যায় এবং আমি এখানে পুনরুক্তি করব কীভাবে?
আমি আশঙ্কা করছি যে আমি এখানে আটকে গিয়েছি এবং এমনকি ঠিক নেই যে সমাধানের জন্য আমার কোন দিকে অনুসন্ধান করা উচিত।
হাইরা ছাড়াই বা নেস্টেড কাঠামো ছাড়াই মডিউল পুনর্লিখন করা এই এক ক্ষেত্রে বিকল্প নয়।
পুতুলের কি সংস্করণ?
—
জিফার
এটি 3.3.1। আমি সমস্যার অংশটি বিশ্বাস করি (পপেটল্যাব ডক্সের উদ্ধৃতি দিয়ে): অনুসন্ধান ফাংশন এবং স্বয়ংক্রিয় প্যারামিটার অনুসন্ধান সর্বদা আপনার হাইরা ডেটার শীর্ষ স্তরের কীগুলির মানগুলি ফিরিয়ে দেয় - তারা গভীরভাবে নেস্টেড ডেটা স্ট্রাকচারে নেমে কেবল একটি অংশই ফিরে আসতে পারে না তাদের মধ্যে. এটি করার জন্য, আপনাকে প্রথমে পুরো কাঠামোটি একটি ভেরিয়েবল হিসাবে সংরক্ষণ করতে হবে, তারপরে আপনার পুতুল কোড বা টেমপ্লেট থেকে কাঠামোর মধ্যে সূচক। - তবে এটি এখনও আমার কাছে অদ্ভুত। এটি টাইপটি দেখে এবং এটি পুরো অ্যারের সাথে একটি টেম্পলেট রেন্ডার করতে পারে তবে এটি সূচী করতে পারে না।
—
রোমান গ্রাজদান