คำถามติดแท็ก ruby-on-rails

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

6
Rails - ใช้การแสดงผลมุมมองช้า ๆ หรือไม่
ฉันมีปัญหาด้านประสิทธิภาพใน3.1.0แอพพลิเคชั่นRails ตอนนี้ฉันได้ทำการเปลี่ยนแปลงแบบโดมกับข้อความค้นหาของฉันด้วย AR แล้ว แต่มุมมองยังคงใช้เวลาในการเรนเดอร์มากเกินไปฉันได้แบ่งมุมมองลูปและอื่น ๆ จะแสดงผลแบบไดนามิกภายในมุมมองและภายในส่วนอื่น ๆ ดังนั้นการฝึกหัดมีจำนวนมากเป็นเรื่องไม่ดี ฉันควรลดจำนวนชิ้นงานเพื่อปรับปรุงเวลาในการแสดงผลมุมมองหรือไม่ ขอบคุณ

13
ฉันจะปกป้อง Ruby on Rails จากลูกค้าไม่ใช่ความคิดเห็นทางเทคนิคได้อย่างไร
ลูกค้าของฉันซึ่งเป็นเจ้าของธุรกิจการแปลเพิ่งบอกฉันว่าเขาอ่านเกี่ยวกับ Ruby on Rails และบอกฉันว่า " มีคน PHP อยู่แถวนั้นมากกว่า " และ " ดูเหมือนว่าชุมชนจะชอบ " อะไรคือสิ่งที่คุณในฐานะวิศวกรซอฟต์แวร์และนักแปลอิสระพูดกับลูกค้าเพื่อบรรลุเป้าหมายเหล่านี้: ขาย ทำให้เขาเห็นว่าเทคโนโลยีคือการตัดสินใจโดยผู้เชี่ยวชาญของฉันและ Rails นั้นดีหรือดีกว่า PHP (+ กรอบอะไรก็ได้) สำหรับโครงการนี้โดยเฉพาะ UPDATE: ขอบคุณทุกคำแนะนำ! พรุ่งนี้ฉันมีนัดกับเขาอีกคราวลองดูกันว่ามันจะเป็นยังไงฉันจะอัพเดทอีกครั้ง :) ปรับปรุง 2: ในที่สุดฉันก็บอกให้เขาอ่านกระทู้นี้และผลลัพธ์ก็ยอดเยี่ยม: เขาให้โครงการฉันและเราจะเริ่มทันที ขอบคุณทุกคนสำหรับความช่วยเหลือคุณมีเบียร์ฟรีในค่าใช้จ่ายของฉันถ้าเราเห็นสักวันหนึ่ง :) BTW: ฉันได้เรียนรู้บทเรียน: โปร่งใสที่สุดเท่าที่จะทำได้เพราะถ้าคุณเชื่อในตัวเองและงานของคุณไม่มีคำถามใดที่ประนีประนอมได้ดีพอที่จะเอาชนะคุณได้ ความนับถือ

2
RSpec vs Test :: Unit ใน Rails
ฉันไม่เคยมั่นใจในข้อดีที่คุณได้รับจากการเปลี่ยนไปใช้ RSpec จาก Test :: Unit ใน Ruby on Rails (แม้จะอ่านเกี่ยวกับ RSpec เป็นครั้งคราว) มันเกี่ยวกับ RSpec ที่โครงการ Rails ส่วนใหญ่ดูเหมือนว่าจะใช้หรือไม่ (ตัวอย่างโค้ดบางตัวอย่างที่แสดงให้เห็นข้อดีอย่างชัดเจนของอีกอันหนึ่งจะได้รับการชื่นชมมาก)

10
วิธีการโน้มน้าวให้เพื่อนร่วมทีมใช้ TDD [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ฉันเป็นคนเดียวในทีมที่ใช้ TDD ฉันจะทำให้พวกเขาใช้มันได้อย่างไร ฉันรำคาญที่เมื่อฉันดึงรหัสของใครบางคนจะทำลายการทดสอบของฉันและฉันเป็นคนที่ต้องแก้ไขพวกเขา การใช้ github, fork และ pull ร้องขอจะแก้ปัญหานี้หรือไม่เพื่อให้พวกเขาจำเป็นต้องผ่านการทดสอบก่อนที่จะยอมรับ pull หรือไม่ ฉันไม่ใช่ผู้จัดการโครงการและฉันไม่สามารถโน้มน้าวให้เธอใช้งานได้

3
การสื่อสารเซิร์ฟเวอร์แอพที่ปลอดภัยของ iPhone
อะไรจะเป็นวิธีที่ดีที่สุดในการบรรลุการสื่อสารส่วนตัวระหว่างแอพ iOS และส่วนประกอบเซิร์ฟเวอร์ การมี“ คีย์ลับ” ที่ไม่มีการเปลี่ยนแปลงเดียวถูกอบเข้าในแหล่งที่มาของแอปเพียงพอหรือไม่หรือฉันต้องตั้งค่ารุ่นของคีย์“ จับมือ” ดังกล่าวแบบไดนามิกบ้างไหม? เซิร์ฟเวอร์โดยตัวของมันเองไม่สามารถเข้าถึงข้อมูลที่ละเอียดอ่อนใด ๆ ได้ดังนั้นแม้ว่าผู้ใช้จะพบจุดปลายส่วนตัว แต่ก็ไม่สามารถเข้าถึงได้ทุกที่ แต่ฉันต้องการให้ผู้อื่นซ่อนตัวจากสาธารณะ โดยพื้นฐานแล้วฉันต้องการเพิกเฉยต่อการขอเส้นทางทั้งหมดโดยเฉพาะเว้นแต่พวกเขาจะมาจากแอพ iOS ของฉัน ส่วนประกอบของเซิร์ฟเวอร์ทำงานบน RoR ถ้าสำคัญ

4
Rails: กฎแห่งความสับสนของ Demeter
ฉันกำลังอ่านหนังสือชื่อ Rails AntiPatterns และพวกเขาคุยกันเรื่องการใช้การมอบหมายเพื่อหลีกเลี่ยงการทำผิดกฎของ Demeter นี่คือตัวอย่างสำคัญของพวกเขา: พวกเขาเชื่อว่าการโทรแบบนี้ในคอนโทรลเลอร์ไม่ดี (และฉันเห็นด้วย) @street = @invoice.customer.address.street ทางออกที่เสนอของพวกเขาคือทำสิ่งต่อไปนี้: class Customer has_one :address belongs_to :invoice def street address.street end end class Invoice has_one :customer def customer_street customer.street end end @street = @invoice.customer_street พวกเขากำลังระบุว่าเนื่องจากคุณใช้เพียงจุดเดียวคุณจะไม่ละเมิดกฎของ Demeter ที่นี่ ฉันคิดว่านี่ไม่ถูกต้องเพราะคุณยังคงต้องผ่านลูกค้าเพื่อผ่านที่อยู่เพื่อรับถนนใบแจ้งหนี้ ฉันได้รับแนวคิดนี้จากโพสต์บล็อกที่ฉันอ่านเป็นหลัก: http://www.dan-manges.com/blog/37 ในบล็อกโพสต์ตัวอย่างสำคัญคือ class Wallet attr_accessor :cash end class Customer has_one …

4
Ruby ทำอะไรได้ถูกต้อง (หรือเป็น Rails) [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ภาษาโปรแกรมส่วนใหญ่มีการตัดสินใจออกแบบที่มีผลต่อการใช้งานและการบังคับใช้ ตัวอย่างเช่น: Python มุ่งเน้นไปที่การบำรุงรักษา / ความสามารถในการอ่านของรหัสและมีการเยื้องเป็นส่วนหนึ่งของภาษาเอง ความตั้งใจของ Java คือการข้ามแพลตฟอร์ม OOP 'ง่ายขึ้น' และ 'เป็นมิตร' กว่า C ++ Objective-C ถูกสร้างขึ้นเพื่อเป็นตัวคลุม OO รอบ C ซึ่งไม่รู้อนาคตของ C ++ ในเวลานั้น Erlang ได้รับการออกแบบสำหรับระบบที่ทนต่อความผิดพลาดสูงและเกิดขึ้นพร้อมกัน PHP ออกแบบมาเพื่อจัดการการสร้างเว็บเพจแบบไดนามิก CoffeeScript ออกแบบมาเพื่อให้เห็นส่วนที่ดีของ Javascript และเพิ่ม OOP syntactical sugar และซ่อนความแตกต่าง (กลม ฯลฯ ) ของ JS 'เบื้องหลัง' …

2
ทำไมผู้คนถึงไม่แนะนำให้ใช้ตัวแปรอินสแตนซ์สำหรับมุมมองใน Ruby on Rails
ทำไมฉันถึงได้ยินว่ามันไม่ดีที่จะแบ่งปันตัวแปรอินสแตนซ์ระหว่างตัวควบคุมและมุมมอง ฉันชอบมันเพราะฉันเห็นได้ทันทีผ่านทาง @ ว่ามีบางอย่างมาจากคอนโทรลเลอร์ ผมเห็นเป็นวิธีที่ดีที่จะใช้ผู้ช่วยเหลือในการควบคุมที่นี่: http://www.stephencelis.com/2008/09/06/rails-controllers-views-and-variables.html แต่ฉันใช้ cancan สำหรับส่วนนั้น

2
ผู้พัฒนารางเริ่มต้นระดับกลางและระดับสูงควรทำงานอะไรให้เสร็จสมบูรณ์
ฉันได้เขียนโปรแกรม ROR มาประมาณหนึ่งปีแล้วและฉันคิดว่าฉันพร้อมที่จะเริ่มทำงานในโครงการสำหรับคนอื่น ปัญหาคือการโพสต์งานสำหรับผู้รับเหมาไม่ได้บอกคุณจริงๆว่างานเฉพาะที่คุณควรจะทำในระดับประสบการณ์ต่าง ๆ (ในทางรถไฟและเทคโนโลยีอื่น ๆ ) ดังนั้นฉันจึงไม่รู้ว่าจะต้องทำยังไง ฉันคิดว่าฉันอยู่ที่ไหนสักแห่งระหว่างรุ่นน้องและระดับกลาง แต่ใครจะรู้ล่ะ ดังนั้นคำถามของฉันคือ: งานที่แท้จริงควรเป็นโปรแกรมเมอร์รุ่นเยาว์สามารถทำอะไรได้พูด $ 35 ต่อชั่วโมงซึ่งงานจริงควรเป็นโปรแกรมเมอร์ระดับกลางที่สามารถทำได้ที่จะบอกว่า $ 75 ต่อชั่วโมงและงานจริงที่โปรแกรมเมอร์ขั้นสูงควรจะสามารถทำได้ ทำที่โอ้พูด $ 140 ต่อชั่วโมง? ตัวอย่างหนึ่งหรือสองตัวอย่างควรเพียงพอ

5
RSpec และแตงกวาคุ้มค่าหรือไม่
ฉันรู้ว่าโปรแกรมเมอร์ของ RoR ส่วนใหญ่กำลังทดสอบผู้ติดยาและฉันเข้าใจถึงข้อดีของชุดทดสอบขนาดใหญ่ แต่เมื่อฉันเริ่มการทดสอบฉันไม่เคยได้รับชุดใหญ่ดังกล่าวและฉันมักจะสงสัยว่า "ฉันกำลังทดสอบวิธีที่ถูกต้องหรือไม่ ฉันมักจะเกี่ยวข้องกับการทดสอบการรวมการทดสอบเฉพาะวิธีที่แอปพลิเคชันทำงาน ก่อนอื่นการทดสอบคุ้มค่าหรือไม่ ฉันหมายถึงเวลาที่ใช้ในการทดสอบการเขียนคุ้มค่าหรือไม่ จากนั้นฉันใช้ RSpec ฉันเพิ่งค้นพบแตงกวาใช้มันซักพัก แต่ฉันไม่รู้ว่าการเขียนทุกขั้นตอนเหล่านี้คุ้มค่าหรือไม่ ฉันรู้ว่าฉันสามารถนำขั้นตอนมาใช้ใหม่ได้ แต่ฉันไม่เคยรู้เลยว่าขั้นตอนเหล่านี้สมบูรณ์เกินไปหรือไม่: ตัวอย่างเช่นฉันใช้Given I am logged in as (.+)แต่ฉันไม่รู้ว่าต้องพูดในคำจำกัดความของมันหรือไม่Given there's a user called $1เพราะสามารถสร้างผู้ใช้ซ้ำได้ แต่นั่นก็ไม่คุ้มค่าที่จะก้าวไปก่อนGiven I am logged in as (.+)เสมอ มันเป็นโค้ดจำนวนมากที่ไม่ค่อยจะมีประโยชน์ ฉันเดาว่าไม่มีข้อผิดพลาดใหม่ ๆ ในส่วนที่ทดสอบทุกวัน ... แตงกวาคุ้มค่าจริง ๆ เมื่อเทียบกับ RSpec หรือไม่

2
.Net ผู้พัฒนาพยายามเรียนรู้ทับทิมบนราง
ฉันเป็นนักพัฒนา. NET และฉันมีโอกาสได้เล่นกับ Ruby on Rails ในสุดสัปดาห์นี้ ใน. NET เราแยกเลเยอร์ของแอปพลิเคชันโดยการสร้างโครงการไลบรารีคลาสแยกต่างหาก จากมุมมองรูปแบบการออกแบบเราต้องทำเช่นนั้นใน Rails ด้วยหรือเป็นเพียงโครงการเดียวที่มีทุกอย่างในนั้นหรือไม่

1
รูปแบบที่ไม่ดีคือการเปลี่ยนตารางหลายตารางในไฟล์การโยกย้าย Rails ไฟล์เดียวหรือไม่?
ฉันเขียนไฟล์การโยกย้ายพร้อมรหัสต่อไปนี้: class AddScheduleIdToPlayers < ActiveRecord::Migration def change add_column :players, :schedule_id, :integer add_column :schedules, :coach_id, :integer end end เป็นรูปแบบที่ไม่ถูกต้องหรือไม่ที่จะไม่สร้างไฟล์การโยกย้ายสองไฟล์หนึ่งไฟล์สำหรับการเปลี่ยนแปลงแต่ละครั้ง

6
โครงการพัฒนาเว็บประเภทใดที่ได้รับประโยชน์จากการใช้ ORM
ฉันจะเริ่มด้วยการบอกว่าฉันได้ทำฐานข้อมูลของฉัน 95% โดยใช้ SQL เมื่อเร็ว ๆ นี้ฉันได้ทำการตรวจสอบ ORM ต่างๆเช่น NHibernate และ Doctrine ฉันสามารถเห็นข้อดีของการไม่จำเป็นต้องรู้ SQL และความสามารถในการพกพาฐานข้อมูลที่ ORM ให้ แต่ฉันสามารถเห็นได้ว่าการรู้ว่า SQL จะทำให้ ORM ทำงานได้อย่างมีประสิทธิภาพมากขึ้นและฉันสามารถคิดได้เพียงครั้งเดียวในอาชีพของฉันว่าการเปลี่ยนแปลงครั้งใหญ่ที่สุดของแอปพลิเคชันจะเป็นผู้จำหน่ายฐานข้อมูล เนื่องจากฉันรู้สึกสะดวกสบายในการเขียน SQL และเห็นได้ชัดว่าไม่ได้ตระหนักถึงประโยชน์ที่ได้รับการสอนบ่อยครั้งในการใช้ ORM คำถามของฉันสำหรับผู้ใช้ ORM ที่หนักหน่วงคือ: โครงการพัฒนาเว็บประเภทใดที่ได้รับประโยชน์สูงสุดจากการใช้ ORM

2
Ruby on Rails เป็นวิธีการบันทึกภาพอย่างไร
ฉันพัฒนาบนiOSและฉันเปลี่ยนจากแบ็กเอนด์PHPเป็น Ruby on Rails รูปแบบการแลกเปลี่ยนเป็นJSON การค้นหาอย่างรวดเร็วของ Google สำหรับ 'บันทึกภาพในราง' มีเกือบทุกผลลัพธ์ที่พูดคุยเกี่ยวกับการบันทึกข้อมูลภาพเป็น blobs ไปยังฐานข้อมูล ฉันอาจเข้าใจผิด แต่ฉันรู้สึกว่าการบันทึกข้อมูลภาพในฐานข้อมูลเป็นการสูญเสียเวลาและพื้นที่อย่างมาก (ซึ่งต่างจากการบันทึกลิงก์ไปยังตำแหน่งไฟล์ ('/img/subcat/4656.png') . ใน PHP เป็นมาตรฐานที่ค่อนข้างดีในการรับข้อมูลสร้างชื่อไฟล์บันทึกไฟล์นั้นลงดิสก์และอัปเดตฐานข้อมูลด้วยตำแหน่งของรูปภาพบนดิสก์ นี่เป็นสิ่งเดียวกันสำหรับ Ruby on Rails หรือว่ามีฟังก์ชั่นภาพ ActiveRecord ในตัวที่ฉันไม่ทราบ?

4
เหตุใด Rails เขียนใน Ruby [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันรู้ PHP และ Ruby ใช้โคลน PHP Rails (ไม่เลือก) เรียกว่า Symfony (ซึ่งเห็นได้ชัดว่าเป็นกรอบ PHP ที่ดีที่สุด) ฉันสังเกตว่ามันเป็นโคลนของ Rails ฉันคิดว่า Symfony นั้นโง่และ (SensioLabs เป็นธุรกิจที่ฉลาด) เพราะ Rails มีอยู่แล้ว นอกเหนือจากโครงการโอเพ่นซอร์สที่สร้างรายได้ฉันไม่เข้าใจว่าทำไมผู้คนถึงสร้าง Rails clones ใน PHP เมื่อ Rails มีอยู่แล้ว ทำไมไม่ใช้ Rails DHH เขียนโค้ด Rails กับ Ruby อย่างแน่นอน เมื่อใช้ Symfony ฉันสังเกตว่ามีอะไรบางอย่างไม่ถูกต้อง แต่ฉันไม่รู้ว่ามันคืออะไร …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.