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

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

3
ปิดโทเค็น CSRF ในราง 3
ฉันมีแอพทางรถไฟที่ให้บริการ API บางตัวกับแอปพลิเคชัน iPhone ฉันต้องการเพียงแค่โพสต์บนทรัพยากรโดยไม่ต้องสนใจว่าจะได้รับโทเค็น CSRF ที่ถูกต้อง ฉันลองใช้วิธีการบางอย่างที่ฉันเห็นที่นี่ใน stackoverflow แต่ดูเหมือนว่าจะไม่ทำงานบนราง 3 อีกต่อไป ขอบคุณที่ช่วยตอบ

7
วิธีที่ดีที่สุดในการถอนการติดตั้งอัญมณีจากโครงการ rail3 คืออะไร
ฉันติดตั้งอัญมณีทั้งหมดของฉันโดยใช้บันเดิลเลอร์ผ่าน Gemfile ฉันคิด (ผิดพลาด) ว่าถ้าฉันลบอัญมณีออกจาก Gemfile ของฉันและเรียกใช้ 'การติดตั้งบันเดิล' ว่าอัญมณีที่ถูกลบจะถูกถอนการติดตั้ง ฉันได้ดูไฟล์วิธีใช้บันเดิลเลอร์แล้วและเท่าที่ฉันบอกได้มันไม่มีวิธีถอนการติดตั้งอัญมณี ฉันใช้ gem uninstall x สำหรับทุกอย่างหรือไม่? จะทำให้ Bundler สับสนหรือไม่

5
จะแก้ไขปัญหา Rake :: DSL ที่ไม่ได้กำหนดค่าเริ่มต้นบน Heroku ได้อย่างไร
ฉันได้รับข้อผิดพลาดที่คล้ายกับคนที่อยู่ใน เหล่านี้ คำถามยกเว้นเหมืองจะเกิดขึ้นในHeroku : 2011-05-30T09:03:29+00:00 heroku[worker.1]: Starting process with command: `rake jobs:work` 2011-05-30T09:03:30+00:00 app[worker.1]: (in /app) 2011-05-30T09:03:30+00:00 heroku[worker.1]: State changed from starting to up 2011-05-30T09:03:33+00:00 app[worker.1]: rake aborted! 2011-05-30T09:03:33+00:00 app[worker.1]: uninitialized constant Rake::DSL 2011-05-30T09:03:33+00:00 app[worker.1]: /app/.bundle/gems/ruby/1.9.1/gems/rake-0.9.0/lib/rake/tasklib.rb:8:in `<class:TaskLib>' คำตอบในคำถามเหล่านั้นดูเหมือนจะระบุได้gem 'rake', '0.8.7'เนื่องจากเวอร์ชัน 0.9 ทำให้เกิดปัญหา เมื่อฉันพยายามเพิ่มลงgem 'rake', '0.8.7'ใน gemfile ของฉันและกดไปที่ Heroku ฉันได้รับข้อผิดพลาดนี้: Unresolved …

10
ค้นหาระเบียนทั้งหมดที่มีจำนวนการเชื่อมโยงมากกว่าศูนย์
ฉันกำลังพยายามทำบางสิ่งที่ฉันคิดว่ามันจะง่าย แต่ดูเหมือนจะไม่เป็นเช่นนั้น ฉันมีโมเดลโครงการที่มีตำแหน่งงานว่างมากมาย class Project < ActiveRecord::Base has_many :vacancies, :dependent => :destroy end ฉันต้องการรับโครงการทั้งหมดที่มีตำแหน่งว่างอย่างน้อย 1 ตำแหน่ง ฉันลองทำสิ่งนี้: Project.joins(:vacancies).where('count(vacancies) > 0') แต่มันบอกว่า SQLite3::SQLException: no such column: vacancies: SELECT "projects".* FROM "projects" INNER JOIN "vacancies" ON "vacancies"."project_id" = "projects"."id" WHERE ("projects"."deleted_at" IS NULL) AND (count(vacancies) > 0).

7
ลบ ActiveRecord ใน Rails 3
ตอนนี้ Rails 3 beta ใช้งานได้แล้วฉันคิดว่าจะได้ดูการเขียนแอปใหม่ที่เพิ่งเริ่มใช้งานใน Rails 3 beta ทั้งสองอย่างเพื่อให้รู้สึกถึงมันและเริ่มต้นได้เล็กน้อย แอพนี้ใช้ MongoDB และ MongoMapper สำหรับทุกรุ่นดังนั้นจึงไม่จำเป็นต้องใช้ ActiveRecord ในเวอร์ชันก่อนหน้าฉันกำลังยกเลิกการโหลด activerecord ด้วยวิธีต่อไปนี้: config.frameworks -= [ :active_record ] # inside environment.rb ในเวอร์ชันล่าสุดสิ่งนี้ใช้ไม่ได้ - เพียงแค่แสดงข้อผิดพลาด: /Library/Ruby/Gems/1.8/gems/railties-3.0.0.beta/lib/rails/configuration.rb:126:in `frameworks': config.frameworks in no longer supported. See the generated config/boot.rb for steps on how to limit the frameworks that will …


5
ฉันจะดึงอักขระที่ไม่ใช่ตัวเลขและตัวอักษรออกจากสตริงและเว้นช่องว่างได้อย่างไร
ฉันต้องการสร้างนิพจน์ทั่วไปที่ลบอักขระที่ไม่ใช่ตัวอักษรและตัวเลขทั้งหมด แต่เว้นช่องว่างไว้ นี่คือการล้างข้อมูลการค้นหาก่อนที่จะเข้าสู่ฐานข้อมูล นี่คือสิ่งที่ฉันมีจนถึงตอนนี้: @search_query = @search_query.gsub(/[^0-9a-z]/i, '') ปัญหาที่นี่คือการลบช่องว่างทั้งหมด แนวทางแก้ไขในการรักษาช่องว่าง?

2
จัดทำดัชนีหลายคอลัมน์ใน Ruby on Rails
ฉันกำลังใช้ฟังก์ชันเพื่อติดตามว่าผู้ใช้อ่านบทความใดบ้าง create_table "article", :force => true do |t| t.string "title" t.text "content" end นี่คือการย้ายข้อมูลของฉันจนถึงตอนนี้: create_table :user_views do |t| t.integer :user_id t.integer :article_id end ตาราง user_views จะถูกสอบถามเพื่อค้นหาทั้งสองคอลัมน์เสมอไม่ใช่เพียงคอลัมน์เดียว คำถามของฉันคือดัชนีของฉันควรมีลักษณะอย่างไร ลำดับของตารางเหล่านี้มีความแตกต่างกันหรือไม่ควรมีตัวเลือกมากกว่านี้หรืออะไรก็ตาม ฐานข้อมูลเป้าหมายของฉันคือ Postgres add_index(:user_views, [:article_id, :user_id]) ขอบคุณ. อัปเดต: เนื่องจากมีเพียงแถวเดียวที่มีค่าเดียวกันในทั้งสองคอลัมน์ (เนื่องจากทราบว่า user_id HAS อ่าน article_id หรือไม่) ฉันควรพิจารณาตัวเลือก: unique หรือไม่ หากฉันไม่เข้าใจผิดนั่นหมายความว่าฉันไม่ต้องทำการตรวจสอบใด ๆ ด้วยตัวเองและเพียงแค่ทำการแทรกทุกครั้งที่ผู้ใช้เข้าชมบทความ

8
ค้นหา () ด้วยศูนย์เมื่อไม่มีระเบียน
ในโปรแกรมรางปัจจุบันของฉันเมื่อฉันใช้สิ่งต่างๆเช่น user = User.find(10) เมื่อไม่มีผู้ใช้ที่มี ID = 10 ฉันจะมีข้อยกเว้นเช่น: ActiveRecord::RecordNotFound: Couldn't find User with ID=10 ฉันสามารถรับศูนย์แทนการเพิ่มข้อยกเว้นได้หรือไม่เมื่อฉันทำบางสิ่งเช่น: unless user = Challenge.find(10) puts "some error msg" end ฉันแค่อยากได้ศูนย์เมื่อไม่มีบันทึกและฉันไม่ต้องการใช้ start / rescue ขอบคุณ

9
Capybara Ambiguity Resolution
ฉันจะแก้ไขความคลุมเครือใน Capybara ได้อย่างไร ด้วยเหตุผลบางประการฉันต้องการลิงก์ที่มีค่าเดียวกันในเพจ แต่ไม่สามารถสร้างการทดสอบได้เนื่องจากได้รับข้อผิดพลาด Failure/Error: click_link("#tag1") Capybara::Ambiguous: Ambiguous match, found 2 elements matching link "#tag1" สาเหตุที่เลี่ยงเรื่องนี้ไม่ได้เพราะการออกแบบ ฉันพยายามสร้างหน้าทวิตเตอร์ขึ้นมาใหม่โดยมีทวีต / แท็กทางด้านขวาและแท็กทางด้านซ้ายของหน้า ดังนั้นจึงหลีกเลี่ยงไม่ได้ที่หน้าลิงก์ที่เหมือนกันจะปรากฏในหน้าเดียวกัน

6
วิธีรับ rspec-2 เพื่อให้การติดตามทั้งหมดที่เกี่ยวข้องกับความล้มเหลวในการทดสอบ
ตอนนี้ถ้าฉันเรียกใช้ชุดทดสอบโดยใช้ไฟล์ rake specฉันได้รับข้อผิดพลาด: 1) SegmentController GET 'index' ควรใช้งานได้ ความล้มเหลว / ข้อผิดพลาด: รับ 'ดัชนี' วิธีการที่ไม่ได้กำหนด `` locale 'สำหรับ # # ./spec/controllers/se segment_controller_spec.rb:14: ใน `` บล็อก (3 ระดับ) ใน ' นี่เป็นเรื่องปกติเนื่องจากฉันมีข้อผิดพลาด :) ปัญหาคือการติดตามไม่เป็นประโยชน์มากนัก ฉันรู้ว่ามันพังในsegments_controller_spec.rbบรรทัดที่ 14 แต่นี่คือที่ที่ฉันเรียกการทดสอบ: ### segments_controller_spec.rb:14 get 'index' ฉันต้องการให้มีการแตกบรรทัดจริงและการติดตามทั้งหมดไม่ใช่ส่วนในโฟลเดอร์ข้อมูลจำเพาะ วิ่งไปด้วย--traceไม่ช่วยอะไร

12
Net :: SMTPAuthenticationError เมื่อส่งอีเมลจากแอป Rails (ในสภาพแวดล้อมการจัดเตรียม)
ฉันกำลังส่งอีเมลจากแอปพลิเคชัน Rails ของฉัน ทำงานได้ดีกับสภาพแวดล้อมการพัฒนา แต่ล้มเหลวในการจัดเตรียม ฉันได้รับข้อผิดพลาดต่อไปนี้: Net::SMTPAuthenticationError (534-5.7.14 <https://accounts.google.com/ContinueSignIn?plt=AKgnsbtdF0yjrQccTO2D_6) โปรดทราบว่าฉันไม่มีชื่อโดเมนสำหรับการจัดเตรียมของฉัน นี่คือการตั้งค่าของฉันใน staging.rb config.action_mailer.delivery_method = :smtp config.action_mailer.default_url_options = { :host => "my.ip.addr.here:80" } config.action_mailer.smtp_settings = { :address => "smtp.gmail.com", :port => 587, :domain => 'my.ip.addr.here:80' :user_name => "my_email_name@gmail.com", :password => "my_email_password", :authentication => 'login' } กรุณาช่วย. แก้ไข. หลังจากเพิ่ม:tls => trueตัวเลือกที่ฉันได้รับ OpenSSL::SSL::SSLError …

6
แปลง UTC เป็นเวลาท้องถิ่นใน Rails 3
ฉันมีปัญหาในการแปลง UTC TimeหรือTimeWithZoneเวลาท้องถิ่นใน Rails 3 บอกว่าmomentเป็นTimeตัวแปรบางตัวใน UTC (เช่นmoment = Time.now.utc) ฉันจะแปลงmomentเป็นเขตเวลาของฉันโดยดูแล DST ได้อย่างไร (เช่นใช้ EST / EDT) อย่างแม่นยำยิ่งขึ้นฉันต้องการพิมพ์ "วันจันทร์ที่ 14 มีนาคม 9.00 น." หากเวลาตรงกับเช้าวันนี้ 9.00 น. EDT และ "วันจันทร์ที่ 7 มีนาคม 9.00 น." หากเวลาคือ 9.00 น. EST ของวันจันทร์ที่ผ่านมา หวังว่าจะมีวิธีอื่น? แก้ไข : ก่อนอื่นฉันคิดว่า "EDT" ควรเป็นเขตเวลาที่รู้จัก แต่ "EDT" ไม่ใช่เขตเวลาจริงคล้ายกับสถานะของเขตเวลามากกว่า ยกตัวอย่างเช่นมันจะไม่ทำให้รู้สึกใด ๆ Time.utc(2011,1,1).in_time_zone("EDT")ที่จะขอ …

2
รับข้อผิดพลาด: คุณต้องติดตั้งอย่างน้อยหนึ่งแพ็คเกจ postgresql-client- <version> เมื่อปรับใช้กับ heroku
sdilshod@sdilshod-Lenovo-B590:~/webapp/saturn$ heroku run rake db:migrate Running `rake db:migrate` attached to terminal... up, run.6194 DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* …

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

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