ฉันเพิ่งเริ่มต้นกับ webapp Ruby on Rails ครั้งแรกของฉัน ฉันมีโมเดลที่ต่างกันมุมมองคอนโทรลเลอร์และอื่น ๆ
ฉันต้องการที่จะหาสถานที่ที่ดีในการติดคำจำกัดความของค่าคงที่ทั่วโลกอย่างแท้จริงซึ่งใช้กับแอพทั้งหมดของฉัน โดยเฉพาะอย่างยิ่งพวกเขาใช้ทั้งในตรรกะของแบบจำลองของฉันและในการตัดสินใจในมุมมองของฉัน ฉันไม่สามารถหาสถานที่ที่แห้งเพื่อวางคำจำกัดความเหล่านี้ที่พวกเขาสามารถใช้ได้กับทุกรุ่นของฉันและในทุกมุมมองของฉัน
COLOURS = ['white', 'blue', 'black', 'red', 'green']
เพื่อที่จะใช้ตัวอย่างที่เฉพาะเจาะจงที่ผมต้องการอย่างต่อเนื่อง สิ่งนี้ใช้ทั่วสถานที่ทั้งในรุ่นและมุมมอง ฉันจะกำหนดได้ที่ไหนในที่เดียวเพื่อให้เข้าถึงได้
สิ่งที่ฉันได้ลอง:
- ตัวแปรระดับคงที่ในไฟล์ model.rb
@@COLOURS = [...]
ที่พวกเขากำลังเกี่ยวข้องมากที่สุดกับเช่น แต่ฉันไม่สามารถหาวิธีที่มีสติที่จะกำหนดมันเพื่อที่ฉันสามารถเขียนในมุมมองของฉันCard.COLOURS
มากกว่าสิ่ง kludgyCard.first.COLOURS
เช่น - วิธีการในรูปแบบคล้าย
def colours ['white',...] end
- ปัญหาเดียวกัน - วิธีใน application_helper.rb - นี่คือสิ่งที่ฉันทำจนถึงตอนนี้ แต่ผู้ช่วยสามารถเข้าถึงได้ในมุมมองเท่านั้นไม่ใช่ในแบบจำลอง
- ฉันคิดว่าฉันอาจลองใช้งานบางอย่างใน application.rb หรือ environment.rb แต่สิ่งเหล่านั้นดูไม่ถูกต้อง
มีวิธีกำหนดสิ่งที่จะสามารถเข้าถึงได้ทั้งจากแบบจำลองและจากมุมมองหรือไม่? ฉันหมายความว่าฉันรู้ว่าแบบจำลองและมุมมองควรแยกจากกัน แต่แน่นอนในบางโดเมนจะมีเวลาที่พวกเขาต้องอ้างถึงความรู้เฉพาะโดเมนเดียวกัน