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

Ruby on Rails เป็นโอเพ่นซอร์สเฟรมเวิร์กแบบเต็มเว็บแอ็พพลิเคชันที่เขียนใน Ruby มันเป็นไปตามรูปแบบกรอบ MVC ที่เป็นที่นิยมและเป็นที่รู้จักกันดีในเรื่องแนวทาง

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

3
ฉันจะเพิ่มข้อยกเว้นใน Rails ให้ทำงานเหมือนกับข้อยกเว้น Rails อื่น ๆ ได้อย่างไร
ฉันต้องการเพิ่มข้อยกเว้นเพื่อให้ทำเช่นเดียวกับข้อยกเว้นของ Rails ปกติ แสดงข้อยกเว้นและการติดตามสแต็กในโหมดการพัฒนาเป็นพิเศษและแสดงหน้า "ขออภัยมีข้อผิดพลาดเกิดขึ้น" ในโหมดการผลิต ฉันลองทำสิ่งต่อไปนี้: raise "safety_care group missing!" if group.nil? แต่มันเขียน"ERROR signing up, group missing!"ลงในไฟล์ development.log

9
ฉันจะตรวจสอบวันที่ในรางได้อย่างไร
ฉันต้องการตรวจสอบความถูกต้องของวันที่ในแบบจำลองของฉันใน Ruby on Rails อย่างไรก็ตามค่าวันเดือนและปีได้ถูกแปลงเป็นวันที่ที่ไม่ถูกต้องตามเวลาที่มาถึงโมเดลของฉัน ตัวอย่างเช่นถ้าฉันป้อนวันที่ 31 กุมภาพันธ์ 2009 ในมุมมองของฉันเมื่อฉันใช้Model.new(params[:model])ในคอนโทรลเลอร์ของฉันระบบจะแปลงเป็น "3 มีนาคม 2009" ซึ่งแบบจำลองของฉันจะเห็นว่าเป็นวันที่ที่ถูกต้องซึ่งเป็นวันที่ แต่มันไม่ถูกต้อง ฉันต้องการตรวจสอบความถูกต้องนี้ในแบบจำลองของฉัน มีวิธีใดบ้างที่ฉันสามารถทำได้หรือฉันคิดผิดอย่างสิ้นเชิง? ฉันพบ " การตรวจสอบวันที่ " ซึ่งกล่าวถึงปัญหา แต่ก็ไม่ได้รับการแก้ไข

7
Rails DateTime.now โดยไม่มีเวลา
ฉันจำเป็นต้องใช้ DateTime.now เพื่อรับวันที่ปัจจุบันและ "ปิด" เวลา ตัวอย่างเช่นสิ่งนี้แสดงสิ่งที่ฉันไม่ต้องการ:DateTime.now => Sat, 19 Nov 2011 18:54:13 UTC +00:00 สิ่งนี้แสดงให้เห็นว่าฉันต้องการอะไร :DateTime.now.some_operation => 2011-11-06 00:00:00 UTC


8
ตั้งรหัสผ่านใหม่จากคอนโซล Rails
ในขณะที่ใช้งานแอพคุณจะเลือกผู้ใช้ตามที่อยู่อีเมลแล้วตั้งรหัสผ่านด้วยตนเองภายในrails consoleสำหรับ Devise ได้อย่างไร? นอกจากนี้ฉันจะไปตรวจสอบเอกสารเพื่อให้ครอบคลุมรายละเอียดเพิ่มเติมเกี่ยวกับการจัดการบัญชีขณะใช้ Devise ได้ที่ไหน

3
ฉันจะใช้โรงงานจาก FactoryGirl ในคอนโซลรางได้อย่างไร
ฉันใช้คอนโซลรางในสภาพแวดล้อมการพัฒนาและฉันต้องการใช้โรงงาน ฉันจะเข้าถึงได้อย่างไร? ฉันได้ลองแล้วrequire "FactoryGirl"ซึ่งผลตอบแทน 1.9.3p393 :301 > require "FactoryGirl" LoadError: cannot load such file -- FactoryGirl

16
Rails + Postgres drop error: ผู้ใช้รายอื่นกำลังเข้าถึงฐานข้อมูล
ฉันมีแอปพลิเคชั่นรางที่ทำงานบน Postgres ฉันมีเซิร์ฟเวอร์สองเครื่อง: เซิร์ฟเวอร์หนึ่งสำหรับการทดสอบและอีกเซิร์ฟเวอร์หนึ่งสำหรับการผลิต บ่อยครั้งที่ฉันต้องโคลนฐานข้อมูลการผลิตบนเซิร์ฟเวอร์ทดสอบ คำสั่งที่ฉันเรียกใช้ผ่าน Vlad คือ: rake RAILS_ENV='test_server' db:drop db:create ปัญหาที่ฉันพบคือฉันได้รับข้อผิดพลาดต่อไปนี้: ActiveRecord::StatementInvalid: PGError: ERROR: database <database_name> is being accessed by other users DROP DATABASE IF EXISTS <database_name> สิ่งนี้จะเกิดขึ้นหากมีคนเข้าถึงแอปพลิเคชันผ่านเว็บเมื่อเร็ว ๆ นี้ (postgres เปิด "เซสชัน" ไว้) มีวิธีใดบ้างที่ฉันสามารถยุติเซสชันบน postgres DB ขอขอบคุณ. แก้ไข ฉันสามารถลบฐานข้อมูลโดยใช้อินเทอร์เฟซของ phppgadmin แต่ไม่สามารถใช้กับงานคราดได้ ฉันจะทำซ้ำการดรอป phppgadmin ด้วยงานคราดได้อย่างไร

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

6
ราง: จับข้อยกเว้นทั้งหมดในตัวควบคุมราง
มีวิธีจับข้อยกเว้นที่ไม่ได้จับทั้งหมดในตัวควบคุมรางเช่นนี้หรือไม่: def delete schedule_id = params[:scheduleId] begin Schedules.delete(schedule_id) rescue ActiveRecord::RecordNotFound render :json => "record not found" rescue ActiveRecord::CatchAll #Only comes in here if nothing else catches the error end render :json => "ok" end ขอขอบคุณ

7
ทำการ redirect_to อย่างถูกต้อง: กลับไปที่ Ruby on Rails เมื่อผู้อ้างอิงไม่พร้อมใช้งาน
ฉันมีปัญหากับredirect_to :back. ใช่เป็นผู้อ้างอิง ฉันมักจะได้รับข้อยกเว้น (ActionController :: RedirectBackError) "ไม่ได้ตั้งค่า HTTP_REFERER ในคำขอให้ดำเนินการนี้ดังนั้นจึงไม่สามารถเรียกใช้ redirect_to: back ได้สำเร็จหากเป็นการทดสอบโปรดระบุ request.env [\" HTTP_REFERER \ "]" ฉันตระหนักดีว่านี่เป็นผลมาจากการที่ไม่มีผู้อ้างอิง ตัวอย่างเช่นมีวิธีใดบ้างที่สามารถตั้งค่าตัวแปรเซสชันในการเข้าถึงแต่ละครั้งที่มีการเยี่ยมชมหน้าสุดท้ายและเมื่อ HTTP_REFERER ไม่พร้อมใช้งานให้ใช้ตัวแปรเซสชันนี้เพื่อเปลี่ยนเส้นทางไป

10
วิธีที่ดีที่สุดในการใช้ SOAP กับ Ruby คืออะไร?
ลูกค้าของฉันได้ขอให้ฉันรวม API ของบุคคลที่สามเข้ากับแอพ Rails ของพวกเขา ปัญหาเดียวคือ API ใช้ SOAP Ruby ได้ทิ้ง SOAP โดยทั่วไปเพื่อให้ REST พวกเขามีอะแดปเตอร์ Java ที่เห็นได้ชัดว่าใช้งานได้กับ Java-Ruby bridge แต่เราต้องการเก็บทั้งหมดไว้ใน Ruby ถ้าเป็นไปได้ ฉันมองเข้าไปใน soap4r แต่ดูเหมือนว่าจะมีชื่อเสียงที่ไม่ดีเล็กน้อย แล้ววิธีที่ดีที่สุดในการรวมการโทร SOAP เข้ากับแอพ Rails คืออะไร?

12
“ gem install therubyracer -v '0.10.2'” บน osx mavericks ไม่ได้ติดตั้ง
กำลังพยายามติดตั้ง therubyracer บน mavericks โดยใช้ "gem install therubyracer -v '0.10.2'" แต่ฉันได้รับข้อผิดพลาดต่อไปนี้: /Users/dennischen/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb checking for main() in -lobjc... yes creating Makefile make compiling rr.cpp clang: warning: argument unused during compilation: '-rdynamic' rr.cpp:48:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ 1 warning generated. compiling v8.cpp clang: warning: argument …

4
NameError (คลิปหนีบกระดาษคงที่ที่ไม่ได้เริ่มต้น :: ที่เก็บข้อมูล :: S3 :: AWS):
ฉันพยายามรวมรูปภาพเข้ากับเว็บแอปของฉันและพบข้อผิดพลาดนี้อยู่เรื่อย ๆ หลังจากลบคุณสมบัติบางอย่างออกไป มันมาถึงตัวควบคุมแอปพลิเคชัน 'สร้าง' ของฉันและฉันไม่แน่ใจว่าควรไปจากที่นี่ 2015-02-06T20:30:12.292187+00:00 app[web.1]: (1.9ms) ROLLBACK 2015-02-06T20:30:12.296299+00:00 app[web.1]: NameError (uninitialized constant Paperclip::Storage::S3::AWS): 2015-02-06T20:30:12.296301+00:00 app[web.1]: app/controllers/articles_controller.rb:24:in `create' 2015-02-06T20:45:14.691084+00:00 app[web.1]: [paperclip] saving /articles/images/000/000/013/original/git.jpeg 2015-02-06T20:45:14.698744+00:00 app[web.1]: Completed 500 Internal Server Error in 584ms 2015-02-06T20:45:14.700871+00:00 heroku[router]: at=info method=POST path="/articles" host=preston.herokuapp.com request_id=d9d02257-3616-4686-bce5-3d912cd528c2 fwd="76.22.102.38" dyno=web.1 connect=1ms service=698ms status=500 bytes=1754 Articles_controller.rb class ArticlesController …

9
เร่งการทดสอบ RSpec ในแอปพลิเคชัน Rails ขนาดใหญ่
ฉันมีแอปพลิเคชัน Rails ที่มีตัวอย่างมากกว่า 2,000 ตัวอย่างในการทดสอบ RSpec ของฉัน ไม่จำเป็นต้องพูดว่ามันเป็นแอปพลิเคชั่นขนาดใหญ่และมีอะไรให้ทดสอบมากมาย การเรียกใช้การทดสอบเหล่านี้ ณ จุดนี้ไม่มีประสิทธิภาพมากและเนื่องจากใช้เวลานานมากเราจึงเกือบจะหมดกำลังใจที่จะเขียนก่อนที่จะผลักดันงานสร้างใหม่ ฉันเพิ่ม - profile ใน spec.opts ของฉันเพื่อค้นหาตัวอย่างที่ทำงานได้ยาวนานที่สุดและมีอย่างน้อย 10 ตัวที่ใช้เวลาโดยเฉลี่ย 10 วินาทีในการรัน เป็นเรื่องปกติในหมู่ผู้เชี่ยวชาญ RSpec หรือไม่? 10 วินาทีนานเกินไปสำหรับตัวอย่างเดียวหรือไม่ ฉันตระหนักดีว่าด้วยตัวอย่าง 2,000 ตัวอย่างการทดสอบทุกอย่างอย่างละเอียดจะต้องใช้เวลาไม่น้อย แต่ ณ จุดนี้ 4 ชั่วโมงเป็นเรื่องที่น่าหัวเราะเล็กน้อย คุณเห็นช่วงเวลาแบบใดสำหรับตัวอย่างที่ทำงานยาวนานที่สุด ฉันจะทำอย่างไรเพื่อแก้ปัญหาข้อกำหนดที่มีอยู่เพื่อหาปัญหาคอขวดและช่วยเร่งความเร็ว ทุกนาทีจะช่วยในจุดนี้ได้จริงๆ

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