จุดประสงค์ของ“ think_all_requests_local” ใน config / environment / development.rb?


94

จุดประสงค์ของการตั้งค่า Rails config คืออะไร ...

config.action_controller.consider_all_requests_local = true

config/environments/development.rbก็ตั้งให้เป็นจริงโดยเริ่มต้นใน

ขอบคุณ

อีธาน


12
นอกเหนือจากนี้: ในราง 3 ตัวเลือกคือconfig.consider_all_requests_local=
ตาย

คำตอบ:


123

การร้องขอที่ไม่ใช่โลคัลทำให้เกิดหน้าข้อผิดพลาดที่ใช้งานง่าย คำขอในพื้นที่ซึ่งสันนิษฐานว่ามาจากนักพัฒนาดูข้อความแสดงข้อผิดพลาดที่มีประโยชน์มากขึ้นซึ่งรวมถึงหมายเลขบรรทัดและการติดตามย้อนกลับ consider_all_requests_localอนุญาตให้แอปของคุณแสดงข้อความที่เป็นมิตรกับนักพัฒนาแม้ว่าเครื่องที่ส่งคำขอนั้นจะอยู่ห่างไกล


9
ข้อความแสดงข้อผิดพลาดเริ่มต้นของ Rails เป็นมิตรเพียงเล็กน้อย นอกจากนี้ยังมีจุดประสงค์อื่นด้วยนั่นคือการไม่แสดงข้อมูลมากเกินไปเกี่ยวกับข้อผิดพลาดภายในต่อบุคคลภายนอกที่อาจต้องการใช้ข้อมูลดังกล่าวกับคุณ
Gordon McCreight

สิ่งนี้สามารถเปลี่ยนสถานะการตอบกลับและส่วนหัวได้หรือไม่ พูดว่าถ้าฉันพยายามส่งคืน503แต่ลูกค้าได้รับ500?
PJSCopeland

5

ในระดับการพัฒนาเรากำหนด:

think_all_requests_local set = true

เนื่องจากนักพัฒนาจำเป็นต้องดูข้อผิดพลาดทั้งหมดในการแสดงเค้าโครง / มุมมองดังที่คุณเห็นในภาพด้านล่าง

ป้อนคำอธิบายภาพที่นี่

แต่ในระดับการผลิตเราไม่จำเป็นต้องแสดงข้อบกพร่องในการเข้ารหัสภายในของเราดังนั้นเราจึงตั้งค่าเท็จ:

config.consider_all_requests_local = false

ป้อนคำอธิบายภาพที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.