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

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



13
อะไรคือวิธีที่ดีที่สุดในการใช้สตรีมกิจกรรมโซเชียล [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันสนใจที่จะรับฟังความคิดเห็นของคุณซึ่งเป็นวิธีที่ดีที่สุดในการดำเนินการสตรีมกิจกรรมโซเชียล (Facebook เป็นตัวอย่างที่โด่งดังที่สุด) ปัญหา / ความท้าทายที่เกี่ยวข้องคือ: กิจกรรมประเภทต่าง ๆ (การโพสต์การแสดงความคิดเห็น .. ) วัตถุประเภทต่าง ๆ (โพสต์ความคิดเห็นภาพถ่าย .. ) ผู้ใช้ 1-n ที่เกี่ยวข้องกับบทบาทที่แตกต่างกัน ("ผู้ใช้ x ตอบกลับความคิดเห็นของผู้ใช้ในโพสต์ Z ของผู้ใช้") มุมมองที่แตกต่างกันของรายการกิจกรรมเดียวกัน ("คุณแสดงความคิดเห็น .. " กับ "เพื่อนของคุณ x แสดงความคิดเห็น" กับ "ผู้ใช้ x แสดงความคิดเห็น .. " => 3 การเป็นตัวแทนของกิจกรรม "ความคิดเห็น") …

28
การติดตั้งแบบรวมล้มเหลวด้วยข้อผิดพลาดการตรวจสอบใบรับรอง SSL
เมื่อฉันใช้bundle installงาน Rails 3 ใน Centos 5.5 มันล้มเหลวด้วยข้อผิดพลาด: Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://bb-m.rubygems.org/gems/multi_json-1.3.2.gem) An error occured while installing multi_json (1.3.2), and Bundler cannot continue. Make sure that `gem install multi_json -v '1.3.2'` succeeds before bundling. เมื่อฉันพยายามติดตั้งอัญมณีด้วยตนเอง (โดยgem install multi_json -v '1.3.2') มันทำงานได้ …

8
ปิดใช้งานการเข้าสู่ระบบ Rails SQL ในคอนโซล
มีวิธีการปิดใช้งานการบันทึกแบบสอบถาม SQL เมื่อฉันกำลังดำเนินการคำสั่งในคอนโซลหรือไม่ เป็นการดีถ้าหากฉันสามารถปิดการใช้งานและเปิดใช้งานอีกครั้งด้วยคำสั่งในคอนโซล ฉันพยายามแก้ไขข้อบกพร่องบางอย่างและใช้ "สวม" เพื่อพิมพ์ข้อมูลที่เกี่ยวข้อง อย่างไรก็ตามผลลัพธ์แบบสอบถาม sql ทำให้อ่านยาก แก้ไข: ฉันพบวิธีแก้ไขปัญหาอื่นเนื่องจากตั้งค่าตัวบันทึกเป็นศูนย์ในบางครั้งทำให้เกิดข้อผิดพลาดหากมีสิ่งอื่นที่ไม่ใช่รหัสของฉันพยายามเรียก logger.warn แทนการตั้งค่าการตัดไม้เพื่อคุณสามารถตั้งค่าระดับของการตัดไม้ไปยังnil1 ActiveRecord::Base.logger.level = 1 # or Logger::INFO

17
ข้อความแสดงข้อผิดพลาดในการตรวจสอบความถูกต้องสมบูรณ์แบบเองด้วย Rails
การใช้ Rails ฉันพยายามที่จะได้รับข้อความแสดงข้อผิดพลาดเช่น "ไม่สามารถเว้นว่างช่องเพลง" ในการบันทึก ทำดังต่อไปนี้: validates_presence_of :song_rep_xyz, :message => "can't be empty" ... แสดงเฉพาะ "Song Rep XYW ต้องไม่ว่างเปล่า" ซึ่งไม่ดีเพราะชื่อของฟิลด์ไม่เป็นมิตรต่อผู้ใช้ ฉันจะเปลี่ยนชื่อฟิลด์เองได้อย่างไร? ฉันสามารถเปลี่ยนชื่อจริงของฟิลด์ในฐานข้อมูล แต่ฉันมีหลายช่อง "เพลง" และฉันจำเป็นต้องมีชื่อฟิลด์เฉพาะ ฉันไม่ต้องการแฮ็กรอบกระบวนการตรวจสอบของรางและฉันรู้สึกว่าควรมีวิธีการแก้ไขที่



3
ลำดับการจัดเรียงเริ่มต้นสำหรับรุ่นราง?
ฉันต้องการระบุลำดับการจัดเรียงเริ่มต้นในโมเดลของฉัน ดังนั้นเมื่อฉันทำ.where()โดยไม่ระบุ.order()มันใช้การเรียงลำดับเริ่มต้น แต่ถ้าฉันระบุ.order()มันมันจะแทนที่ค่าเริ่มต้น

11
Rails: update_attribute เทียบกับ update_attributes
Object.update_attribute(:only_one_field, "Some Value") Object.update_attributes(:field1 => "value", :field2 => "value2", :field3 => "value3") ทั้งสองอย่างนี้จะอัปเดตวัตถุโดยไม่ต้องแจ้งให้ AR ทราบเพื่ออัปเดตอย่างชัดเจน Rails API พูดว่า: สำหรับ update_attribute อัพเดตแอททริบิวต์เดียวและบันทึกข้อมูลโดยไม่ต้องผ่านขั้นตอนการตรวจสอบความถูกต้องตามปกติ สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับแฟล็กบูลีนในระเบียนที่มีอยู่ เมธอด update_attribute ปกติในฐานจะถูกแทนที่ด้วยสิ่งนี้เมื่อโมดูลการตรวจสอบความถูกต้องถูกผสมซึ่งเป็นค่าเริ่มต้น สำหรับ update_attributes อัปเดตคุณลักษณะทั้งหมดจาก Hash ที่ส่งผ่านและบันทึกบันทึก หากวัตถุไม่ถูกต้องการบันทึกจะล้มเหลวและจะส่งคืนค่าเท็จ ดังนั้นหากฉันไม่ต้องการให้วัตถุตรวจสอบความถูกต้องฉันควรใช้ update_attribute จะเกิดอะไรขึ้นถ้าฉันมีการอัปเดตนี้ก่อนวันที่บันทึกมันจะสแต็คโอเวอร์โฟลว์หรือไม่ คำถามของฉันคือ update_attribute ยังข้ามก่อนบันทึกหรือเพียงแค่การตรวจสอบ นอกจากนี้ไวยากรณ์ที่ถูกต้องคืออะไรที่จะผ่านแฮชเพื่อ update_attributes ... ลองดูตัวอย่างของฉันที่ด้านบน


10
ไม่พบสัญลักษณ์ Ruby Bundle: _SSLv2_client_method (LoadError)
ฉันกำลังพยายามที่จะทำการปรับปรุงบางอย่างเพื่อ openssl โดยใช้ homebrew และฉันก็พยายามที่จะทำลายทุกอย่าง ฉันไม่สามารถทำอะไรได้เลยนี่คือสิ่งที่ฉันจะได้รับเมื่อฉันพยายามติดตั้งชุดข้อมูล: $ bundle install /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle, 9): Symbol not found: _SSLv2_client_method (LoadError) Referenced from: /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle Expected in: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib in /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle - /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/openssl.rb:17:in `<top (required)>' from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/security.rb:11:in `<top (required)>' from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /Users/asServer/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in …

13
Ruby ผ่านการอ้างอิงหรือตามค่าหรือไม่
@user.update_languages(params[:language][:language1], params[:language][:language2], params[:language][:language3]) lang_errors = @user.errors logger.debug "--------------------LANG_ERRORS----------101-------------" + lang_errors.full_messages.inspect if params[:user] @user.state = params[:user][:state] success = success & @user.save end logger.debug "--------------------LANG_ERRORS-------------102----------" + lang_errors.full_messages.inspect if lang_errors.full_messages.empty? @userวัตถุเพิ่มข้อผิดพลาดให้กับlang_errorsตัวแปรในupdate_lanugagesวิธีการ เมื่อฉันทำการบันทึกบน@userวัตถุฉันสูญเสียข้อผิดพลาดที่เก็บไว้ในlang_errorsตัวแปรเริ่มแรก แม้ว่าสิ่งที่ฉันพยายามทำจะเป็นมากกว่าแฮ็ค (ซึ่งดูเหมือนจะไม่ทำงาน) ฉันต้องการที่จะเข้าใจว่าทำไมค่าตัวแปรจึงถูกล้างออก ฉันเข้าใจการอ้างอิงผ่านดังนั้นฉันอยากทราบว่าค่าสามารถเก็บไว้ในตัวแปรนั้นได้อย่างไรโดยไม่ถูกชะล้างออกไป

12
Rails - ไม่พบรันไทม์ JavaScript ใช่ไหม
ฉันสร้างโครงการ Rails ใหม่โดยใช้rails 3.1.0.rc4บนเครื่องของฉัน แต่เมื่อฉันพยายามเริ่มต้นเซิร์ฟเวอร์ฉันจะได้รับ: ไม่พบ JavaScript runtime ดูที่นี่สำหรับรายการของ runtimes ที่มีอยู่ ( ExecJS::RuntimeUnavailable) หมายเหตุ: นี่ไม่เกี่ยวกับ Heroku

9
วิธีการคืนค่าความสัมพันธ์ ActiveRecord ที่ว่างเปล่า?
หากฉันมีขอบเขตที่มีแลมบ์ดาและใช้การโต้แย้งขึ้นอยู่กับมูลค่าของการโต้แย้งฉันอาจรู้ว่าจะไม่มีการแข่งขันใด ๆ แต่ฉันยังต้องการคืนความสัมพันธ์ไม่ใช่อาร์เรย์ที่ว่างเปล่า: scope :for_users, lambda { |users| users.any? ? where("user_id IN (?)", users.map(&:id).join(',')) : [] } สิ่งที่ฉันต้องการจริงๆคือวิธีการ "ไม่มี" ตรงข้ามกับ "ทั้งหมด" ที่ส่งคืนความสัมพันธ์ที่ยังคงถูกผูกมัดอยู่ แต่ผลลัพธ์ในการค้นหาจะเกิดการลัดวงจร

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