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

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

7
เป็นของเพื่อผ่านการเชื่อมโยง
ด้วยการเชื่อมโยงดังต่อไปนี้ฉันต้องอ้างอิงสิ่งQuestionที่Choiceแนบมาผ่านจากChoiceโมเดล ฉันพยายามใช้belongs_to :question, through: :answerเพื่อดำเนินการนี้ class User has_many :questions has_many :choices end class Question belongs_to :user has_many :answers has_one :choice, :through => :answer end class Answer belongs_to :question end class Choice belongs_to :user belongs_to :answer belongs_to :question, :through => :answer validates_uniqueness_of :answer_id, :scope => [ :question_id, :user_id ] end ฉันได้รับ …


19
วิธีเชื่อมโยงการสืบค้นขอบเขตด้วยหรือแทนที่จะเป็น AND
ฉันใช้ Rails3, ActiveRecord แค่สงสัยว่าฉันจะเชื่อมโยงขอบเขตด้วยคำสั่ง OR แทนที่จะเป็น AND ได้อย่างไร เช่น Person.where(:name => "John").where(:lastname => "Smith") โดยปกติจะส่งคืน: name = 'John' AND lastname = 'Smith' แต่ฉันต้องการ: `name = 'John' OR lastname = 'Smith'



7
ทำ schema.rb ของฉันหาย! สามารถสร้างใหม่ได้หรือไม่?
เนื่องจากปัญหาการปรับใช้บางอย่างฉันจึงหยุดติดตาม schema.rb ใน git อย่างไรก็ตามฉันได้ยัดมันขึ้นมาและบางแห่งระหว่างทางไฟล์ schema.rb ของฉันหายไป มีวิธีสร้าง schema.rb จากฐานข้อมูลหรือจากการโอนย้ายหรือไม่ ฉันไม่ต้องการให้ข้อมูลที่มีอยู่สูญหาย

9
ฉันจะแก้ไขข้อผิดพลาด“ คุณไม่มีสิทธิ์เขียนในไดเร็กทอรี / usr / bin” เมื่อติดตั้ง Rails ได้อย่างไร
ฉันกำลังพยายามติดตั้ง Rails 3 บน MacBook Pro รุ่นใหม่ที่ใช้ OS X 10.6.3, Ruby 1.8.7 และ Rails 2.3.5 และฉันสงสัยว่าฉันแอบไปเองหรือเปล่า จนถึงตอนนี้ฉันเรียกใช้คำสั่งเหล่านี้: $ gem update --system $ gem install arel tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n $ gem install rails --pre อย่างไรก็ตามเมื่อฉันรันคำสั่งสุดท้ายฉันได้รับข้อผิดพลาดนี้: ERROR: While executing gem ... (Gem::FilePermissionError) You …

15
ฉันจะล้างคนงาน Resque ค้าง / ค้างได้อย่างไร
ดังที่คุณเห็นจากภาพที่แนบมาฉันมีคนงานสองสามคนที่ดูเหมือนจะติดอยู่ กระบวนการเหล่านี้ไม่ควรใช้เวลานานเกินสองสามวินาที ฉันไม่แน่ใจว่าทำไมพวกเขาไม่ล้างหรือวิธีลบออกด้วยตนเอง ฉันใช้ Heroku โดยใช้ Resque กับ Redis-to-Go และ HireFire เพื่อปรับขนาดคนงานโดยอัตโนมัติ

8
วิธีการที่ไม่ได้กำหนด 'งาน' โดยใช้ Rake 0.9.0
ฉันเพิ่งอัปเดตRakeเป็นเวอร์ชันล่าสุด ( 0.9.0.beta.4) และrakeคำสั่งลงเอยด้วยข้อความแสดงข้อผิดพลาดต่อไปนี้: rake aborted! undefined method `task' for #<Anelis::Application:0x9223b6c> นี่คือร่องรอย: undefined method `task' for #<Anelis::Application:0x97ef80c> /usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:214:in `initialize_tasks' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:139:in `load_tasks' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing' /home/amokrane/Documents/prog/web/learning_rails/anelis/Rakefile:7:in `load_string' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:28:in `eval' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:28:in `load_string' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:16:in `load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:495:in `raw_load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:78:in `block in load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:129:in `standard_exception_handling' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:77:in `load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:61:in `block in run' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:129:in `standard_exception_handling' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:59:in `run' /usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/bin/rake:31:in …

14
Rails 3: รับบันทึกแบบสุ่ม
ดังนั้นฉันได้พบหลายตัวอย่างในการค้นหาเร็กคอร์ดแบบสุ่มใน Rails 2 - วิธีที่ต้องการน่าจะเป็น: Thing.find :first, :offset => rand(Thing.count) เนื่องจากเป็นมือใหม่ฉันไม่แน่ใจว่าจะสร้างสิ่งนี้ได้อย่างไรโดยใช้ไวยากรณ์การค้นหาใหม่ใน Rails 3 แล้ว "Rails 3 Way" ในการค้นหาระเบียนแบบสุ่มคืออะไร?

1
การเติมข้อความอัตโนมัติ Emacs Ruby เกือบจะทำงาน
ฉันได้อัปเดตการกำหนดค่า emacs ของฉันด้วยการใช้ Rsense เพื่อให้กล่องแบบเลื่อนลงการเติมข้อความอัตโนมัติปรากฏขึ้นในขณะที่พิมพ์รหัส สิ่งนี้ใช้งานได้ดีในไฟล์ส่วนใหญ่ยกเว้นฉันพบว่าไม่อนุญาตให้ฉันเลือกคำตอบจากตารางเมื่อฉันแก้ไขโค้ดในโครงการ Ruby on rail นี่คือการตั้งค่าของฉัน: https://github.com/map7/simple_emacs ฉันใช้สิ่งนี้ภายใต้ Ubuntu 10.04 สำหรับไฟล์สคริปต์ Ruby แบบธรรมดามันใช้งานได้ดี ฉันสามารถเปิดไฟล์ใหม่และพิมพ์ "test".up... เช่นเดียวกับที่ฉันพิมพ์อักขระ 'p' ในรายการตัวเลือกต่างๆจะปรากฏขึ้นและฉันสามารถขึ้นและลงรายการด้วยปุ่มลูกศรและเลือกหนึ่งตัว (เช่น: ตัวพิมพ์ใหญ่) ด้วยปุ่ม Enter สิ่งที่ไม่ได้ผลคือเมื่อฉันทำการทดสอบแบบเดียวกันทั้งหมด แต่อยู่ในไดเร็กทอรีฐานของโครงการราง อัปเดต: พบว่าปัญหาเกิดจาก (ต้องใช้ 'ราง) ดังนั้นจึงเป็นสิ่งที่อยู่ในปลั๊กอิน emacs-rail ที่การเติมข้อความอัตโนมัติไม่ชอบ อัปเดต: มันอยู่ใน emacs-rail -> railway-project.el หากฉันแสดงความคิดเห็นมาโครนี้การเติมข้อความอัตโนมัติจะทำงานมิฉะนั้นจะไม่: (defmacro* rails-project:with-root ((root) &body body) "If you use `rails-project:root' …

15
Rails 3: wrapper“ field-with-error” เปลี่ยนลักษณะของเพจ จะหลีกเลี่ยงสิ่งนี้ได้อย่างไร?
ฟิลด์อีเมล: <label for="job_client_email">Email: </label> <input type="email" name="job[client_email]" id="job_client_email"> มีลักษณะดังนี้: แต่หากการตรวจสอบอีเมลล้มเหลวจะกลายเป็น: <div class="field_with_errors"> <label for="job_client_email">Email: </label> </div> <div class="field_with_errors"> <input type="email" value="wrong email" name="job[client_email]" id="job_client_email"> </div> ซึ่งมีลักษณะดังนี้: ฉันจะหลีกเลี่ยงการเปลี่ยนแปลงรูปลักษณ์นี้ได้อย่างไร

5
NoMethodError: วิธีการที่ไม่ได้กำหนด `` last_comment 'หลังจากอัปเกรดเป็นคราด 11
เมื่อเรียกใช้rakeงานใด ๆฉันได้รับ: NoMethodError: วิธีการที่ไม่ได้กำหนด last_comment สำหรับ หลังจากนั้นbundle updateก็ดึงคราดเวอร์ชันใหม่11.0.1มาใช้ $ grep rake Gemfile.lock rake rake (>= 0.8.7) rake (11.0.1) rake $ bundle update $ bundle exec rake db:drop # any rake task NoMethodError: วิธีที่ไม่ได้กำหนด last_comment สำหรับ # <Rake :: Application: 0x007ff0cf37be38> รุ่น ราง 3.2.11 คราด 11.0.1

3
Rails: ตรวจสอบความเป็นเอกลักษณ์ของสองคอลัมน์ (ร่วมกัน)
ฉันมีReleaseแบบจำลองmediumและcountryคอลัมน์ (อื่น ๆ ) ไม่ควรมีreleasesที่ใช้ร่วมกันmedium/ countryชุดค่าผสมที่เหมือนกัน ฉันจะเขียนสิ่งนี้เป็นการตรวจสอบรางได้อย่างไร

5
รูปแบบการประดิษฐ์ภายในตัวควบคุมที่แตกต่างกัน
ฉันใช้อัญมณีประดิษฐ์สำหรับกระบวนการ sign_in / sign_out ฉันสร้างไฟล์มุมมองจากการประดิษฐ์โดยใช้ rails g devise views ฉันเห็นว่ามีไฟล์รุ่น / เซสชัน / new.html.erb ซึ่งมีแบบฟอร์มสำหรับลงชื่อเข้าใช้ ฉันสร้างไฟล์อื่นอีกครั้งประดิษฐ์ / session / _form.html.erb และทำ<%= render 'form' %>ภายในไฟล์ new.html.erb และนั่นก็ใช้ได้ดีมาก ตอนนี้ฉันต้องการรวมฟอร์มนี้จากคอนโทรลเลอร์อื่น ดังนั้นในคอนโทรลเลอร์ที่เรียกว่า 'main', (โดยเฉพาะภายในหน้าดู) 'mains / index.html.erb' ฉันรวม<%= render 'devise/sessions/form' %>ไฟล์ไว้ด้วย ดูเหมือนว่าการรวมนั้นใช้ได้ดี แต่ฉันได้รับข้อผิดพลาดต่อไปนี้ NameError in Mains#index Showing /home/administrator/Ruby/site_v4_ruby/app/views/devise/sessions/_form.html.erb where line #1 raised: undefined local …

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