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

Active Record เป็นรูปแบบที่รวมลอจิกโดเมนกับสตอเรจที่เป็นนามธรรมในออบเจ็กต์เดียว ใช้แท็กนี้สำหรับคำถามเกี่ยวกับรูปแบบ [rail-activerecord] สำหรับคำถามเกี่ยวกับเฟรมเวิร์ก Rails ORM

4
ข้อความที่กำหนดเองสำหรับการตรวจสอบความถูกต้องสำหรับราง 3
Rails ได้นำเสนอวิธีใหม่ในการตรวจสอบคุณสมบัติภายในโมเดล เมื่อฉันใช้ validates :title, :presence => true มันใช้งานได้ แต่เมื่อฉันพยายามเพิ่มข้อความที่กำหนดเอง validates :title, :presence => true,:message => "Story title is required" ข้อผิดพลาดถูกสร้างขึ้น Unknown validator: 'message'

5
ฉันจะเปิดการบันทึกการดีบัก SQL สำหรับ ActiveRecord ในการทดสอบ RSpec ได้อย่างไร
ฉันมีการทดสอบ RSpec สำหรับโมเดลของฉันและฉันต้องการเปิดการบันทึก SQL ActiveRecord เหมือนที่ฉันเห็นในโหมดเซิร์ฟเวอร์ Rails ต้องทำอย่างไร? ฉันเริ่มการทดสอบด้วย RAILS_ENV=test bundle exec rspec my/test_spec.rb ขอบคุณ

6
บันทึกวัตถุหลายรายการในการโทรครั้งเดียวในราง
ฉันมีวิธีในรางที่ทำสิ่งนี้: a = Foo.new("bar") a.save b = Foo.new("baz") b.save ... x = Foo.new("123", :parent_id => a.id) x.save ... z = Foo.new("zxy", :parent_id => b.id) z.save ปัญหาคือใช้เวลานานขึ้นและนานขึ้นยิ่งฉันเพิ่มเอนทิตีมากขึ้น ฉันสงสัยว่านี่เป็นเพราะมันต้องตีฐานข้อมูลสำหรับทุกระเบียน เนื่องจากพวกเขาอยู่ในรังฉันรู้ว่าฉันไม่สามารถช่วยเด็ก ๆ ก่อนที่พ่อแม่จะได้รับความรอด แต่ฉันต้องการช่วยพ่อแม่ทุกคนในคราวเดียวจากนั้นก็ให้เด็ก ๆ ทุกคน จะเป็นการดีที่จะทำสิ่งต่างๆเช่น: a = Foo.new("bar") b = Foo.new("baz") ... saveall(a,b,...) x = Foo.new("123", :parent_id => a.id) ... z …

5
ในรางฉันจะทราบได้อย่างไรว่าอะไรทำให้ a .save () ล้มเหลวนอกเหนือจากข้อผิดพลาดในการตรวจสอบความถูกต้อง
ฉันมีโมเดล ActiveRecord ซึ่งส่งคืนtrueจากvalid?(และ. error ว่างเปล่า) แต่กำลังกลับมาfalseจากsave()ไฟล์. หากอินสแตนซ์โมเดลถูกต้องฉันจะทราบได้อย่างไรว่าอะไรทำให้การบันทึกล้มเหลว

7
ตรวจสอบว่ามีบันทึกจากคอนโทรลเลอร์ใน Rails หรือไม่
ในแอปของฉันผู้ใช้สามารถสร้างธุรกิจได้ เมื่อพวกเขาทริกเกอร์การindexดำเนินการในของBusinessesControllerฉันฉันต้องการตรวจสอบว่าธุรกิจเกี่ยวข้องกับcurrent_user.id: ถ้าใช่: แสดงธุรกิจ ถ้าไม่: เปลี่ยนเส้นทางไปที่newการดำเนินการ ฉันพยายามใช้สิ่งนี้: if Business.where(:user_id => current_user.id) == nil # no business found end แต่มันกลับเป็นจริงเสมอแม้ธุรกิจจะไม่มี ... ฉันจะทดสอบได้อย่างไรว่ามีระเบียนอยู่ในฐานข้อมูลของฉันหรือไม่

13
ActiveRecord Query Union
ฉันได้เขียนคำถามที่ซับซ้อนสองสามข้อ (อย่างน้อยก็สำหรับฉัน) ด้วยอินเทอร์เฟซการสืบค้นของ Ruby on Rail: watched_news_posts = Post.joins(:news => :watched).where(:watched => {:user_id => id}) watched_topic_posts = Post.joins(:post_topic_relationships => {:topic => :watched}).where(:watched => {:user_id => id}) คำค้นหาทั้งสองนี้ทำงานได้ดีด้วยตัวเอง ทั้งสองส่งคืนวัตถุโพสต์ ฉันต้องการรวมโพสต์เหล่านี้ไว้ใน ActiveRelation เดียว เนื่องจากอาจมีหลายแสนโพสต์ในบางจุดจึงจำเป็นต้องดำเนินการในระดับฐานข้อมูล หากเป็นแบบสอบถาม MySQL ฉันสามารถใช้ตัวUNIONดำเนินการได้ มีใครรู้บ้างว่าฉันสามารถทำสิ่งที่คล้ายกันกับอินเทอร์เฟซการสืบค้นของ RoR ได้หรือไม่?

5
ActiveRecord ปลอดภัยเช่นแบบสอบถาม
ฉันกำลังพยายามเขียนข้อความค้นหา LIKE ฉันอ่านแล้วว่าคำถามสตริงที่แท้จริงไม่ปลอดภัย แต่ฉันไม่พบเอกสารใด ๆ ที่อธิบายวิธีการเขียน LIKE Hash Query ที่ปลอดภัย เป็นไปได้ไหม? ฉันควรป้องกัน SQL Injection ด้วยตนเองหรือไม่


8
LEFT OUTER เข้าร่วมใน Rails 3
ฉันมีรหัสต่อไปนี้: @posts = Post.joins(:user).joins(:blog).select ซึ่งมีจุดมุ่งหมายเพื่อค้นหาโพสต์ทั้งหมดและส่งคืนและผู้ใช้และบล็อกที่เกี่ยวข้อง อย่างไรก็ตามผู้ใช้เป็นทางเลือกซึ่งหมายความว่าสิ่งINNER JOINที่:joinsสร้างขึ้นจะไม่ส่งคืนระเบียนจำนวนมาก ฉันจะใช้สิ่งนี้เพื่อสร้างLEFT OUTER JOINแทนได้อย่างไร

4
Arel in Rails 3.0 คืออะไร?
ฉันเข้าใจว่าเป็นการแทนที่ ActiveRecord และใช้วัตถุแทนการสืบค้น แต่... ทำไมถึงดีกว่านี้? ออบเจ็กต์ / คิวรีจะสร้าง "ง่ายกว่า" ไหม จะนำไปสู่การสืบค้น SQL ที่มีประสิทธิภาพมากขึ้นหรือไม่? จะเข้ากันได้กับฐานข้อมูลหลักทั้งหมดหรือไม่ - ฉันคิดว่ามันจะ มันจะง่าย / ยากกว่าที่จะใช้กับขั้นตอนการจัดเก็บ?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.