คำถามติดแท็ก sprockets

29
การใช้ Rails 3.1 คุณใส่โค้ด JavaScript ของ“ หน้าเฉพาะ” ไว้ที่ไหน?
เพื่อความเข้าใจของฉัน JavaScript ทั้งหมดของคุณจะถูกรวมเป็น 1 ไฟล์ Rails ทำสิ่งนี้ตามค่าเริ่มต้นเมื่อเพิ่ม//= require_tree .ลงในapplication.jsไฟล์ Manifest ของคุณ สิ่งนี้ฟังดูเหมือนช่วยชีวิตจริง แต่ฉันกังวลเล็กน้อยเกี่ยวกับรหัส JavaScript เฉพาะหน้า รหัสนี้จะถูกดำเนินการในทุกหน้า? สิ่งสุดท้ายที่ฉันต้องการคือการทำให้วัตถุทั้งหมดของฉันเป็นอินสแตนซ์สำหรับทุกหน้าเมื่อจำเป็นเท่านั้นใน 1 หน้า นอกจากนี้ยังไม่มีโอกาสที่จะเกิดรหัสที่ขัดแย้งกันได้หรือไม่ หรือคุณใส่scriptแท็กขนาดเล็กที่ด้านล่างของหน้าเว็บที่เพิ่งเรียกใช้เป็นวิธีการที่เรียกใช้โค้ดจาวาสคริปต์สำหรับหน้า? คุณไม่ต้องการ require.js อีกต่อไปแล้วใช่ไหม ขอบคุณ แก้ไข : ฉันขอบคุณคำตอบทั้งหมด ... และฉันไม่คิดว่าพวกเขาจะได้รับปัญหาจริงๆ บางคนเกี่ยวกับการออกแบบและดูเหมือนจะไม่เกี่ยวข้อง ... และคนอื่น ๆ พูดถึงjavascript_include_tag... ที่ฉันรู้ว่ามีอยู่ (ชัด ๆ ... ) แต่มันจะปรากฏว่าทางรถไฟ 3.1 จะก้าวไปข้างหน้าเพื่อห่อหุ้มทั้งหมด JavaScript ของคุณเป็น 1 ไฟล์แทนที่จะโหลด JavaScript ที่ด้านล่างของแต่ละหน้า ทางออกที่ดีที่สุดที่ฉันสามารถทำได้คือห่อคุณสมบัติบางอย่างในdivแท็กด้วยids …

14
ฉันจะปิดการใช้งานการบันทึกข้อความไปป์ไลน์ (sprockets) ใน Ruby on Rails 3.1 ได้อย่างไร
เฟืองจะค่อนข้างละเอียดในบันทึก (dev) โดยค่าเริ่มต้นภายใต้ Ruby on Rails 3.1 (RC1): Started GET "/assets/application.css" for 127.0.0.1 at 2011-06-10 17:30:45 -0400 Compiled app/assets/stylesheets/application.css.scss (5ms) (pid 6303) Started GET "/assets/application.js" for 127.0.0.1 at 2011-06-10 17:30:45 -0400 Compiled app/assets/stylesheets/default.css.scss (15ms) (pid 6303) ... Started GET "/assets/default/header_bg.gif" for 127.0.0.1 at 2011-06-10 17:30:45 -0400 Served asset /default/header_logo.gif - …

3
การใช้ไปป์ไลน์ทรัพย์สิน Rails 3.1 เพื่อใช้ CSS บางอย่างตามเงื่อนไข
ฉันอยู่ระหว่างการสร้างแอพ Rails เดี่ยวครั้งแรกของฉันโดยใช้ Rails 3.1.rc5 ปัญหาของฉันคือฉันต้องการให้เว็บไซต์ของฉันแสดงไฟล์ CSS ต่างๆตามเงื่อนไข ฉันใช้ Blueprint CSS และฉันพยายามให้เฟือง / รางแสดงผลscreen.cssเกือบตลอดเวลาprint.cssเฉพาะเมื่อพิมพ์และie.cssเมื่อเข้าถึงไซต์จาก Internet Explorer เท่านั้น น่าเสียดายที่*= require_treeคำสั่งเริ่มต้นในapplication.cssรายการรวมทุกอย่างในassets/stylesheetsไดเรกทอรีและทำให้เกิดความสับสน CSS วิธีแก้ปัญหาปัจจุบันของฉันเป็นวิธีการบังคับแบบ brute-force ซึ่งฉันระบุทุกอย่างเป็นรายบุคคล: ใน application.css: *= require_self *= require home.css ... *= require blueprint/screen.css ในสไตล์ชีตของฉันบางส่วน (haml): <!--[if lt IE 9] <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> ![endif]--> = stylesheet_link_tag "application" = stylesheet_link_tag 'blueprint/print', media: …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.