12
ตัวแปรเฉพาะที่เป็นตัวเลือกใน Rails เทมเพลตบางส่วน: ฉันจะออกจากระเบียบ (กำหนด? foo) ได้อย่างไร?
ฉันเป็นเด็กเลวและใช้ไวยากรณ์ต่อไปนี้ในแม่แบบบางส่วนของฉันเพื่อตั้งค่าเริ่มต้นสำหรับตัวแปรท้องถิ่นหากค่าไม่ได้กำหนดไว้อย่างชัดเจนใน: hash locals เมื่อแสดงบางส่วน - <% foo = default_value unless (defined? foo) %> สิ่งนี้ดูเหมือนว่าจะทำงานได้ดีจนกระทั่งเมื่อไม่นานมานี้เมื่อ (โดยไม่มีเหตุผลที่ฉันสามารถแยกแยะได้) ตัวแปรที่ไม่ผ่านก็เริ่มทำตัวราวกับว่าพวกมันถูกกำหนดเป็นศูนย์ (แทนที่จะไม่ได้กำหนด) ตามที่ได้รับการชี้ให้เห็นจากคนที่เป็นประโยชน์มากมายใน SO http://api.rubyonrails.org/classes/ActionView/Base.htmlกล่าวว่าห้ามใช้ defined? foo และแทนที่จะใช้ local_assigns.has_key? :foo ฉันพยายามแก้ไขวิธีการของฉัน แต่นั่นหมายถึงการเปลี่ยนเทมเพลตจำนวนมาก ฉันสามารถ / ควรชาร์จล่วงหน้าและทำการเปลี่ยนแปลงในแม่แบบทั้งหมดหรือไม่ มีความยุ่งยากใด ๆ ที่ฉันต้องระวังหรือไม่? ฉันจะต้องทดสอบแต่ละคนอย่างขยันขันแข็งแค่ไหน?