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

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

4
OO Design in Rails: จะใส่ของที่ไหนดี
ฉันสนุกกับ Rails จริงๆ (ถึงแม้ว่าฉันจะไม่ค่อยสงบ) และฉันก็เพลิดเพลินกับ Ruby ที่เป็น OO มาก ยังคงแนวโน้มที่จะทำให้ subclasses ของ ActiveRecord ขนาดใหญ่และตัวควบคุมขนาดใหญ่นั้นค่อนข้างเป็นธรรมชาติ (แม้ว่าคุณจะใช้ตัวควบคุมต่อทรัพยากร) ถ้าคุณจะสร้างโลกวัตถุที่ลึกกว่านี้คุณจะใส่คลาสไหน (และโมดูลฉันคิดว่า) ฉันถามเกี่ยวกับมุมมอง (ในตัวช่วยด้วยตนเอง) ผู้ควบคุมและรุ่น Lib ไม่เป็นไรและฉันพบวิธีแก้ไขปัญหาเพื่อให้สามารถโหลดได้ในสภาพแวดล้อมการพัฒนา แต่ฉันต้องการทราบว่ามีวิธีที่ดีกว่าในการทำสิ่งนี้หรือไม่ ฉันแค่กังวลเกี่ยวกับชั้นเรียนที่มีขนาดใหญ่เกินไป นอกจากนี้แล้วสิ่งที่เกี่ยวกับเครื่องยนต์และพวกเขาเหมาะสมอย่างไร

30
เรียนรู้ Ruby on Rails
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ อย่างที่มันเป็นอยู่ตอนนี้ฉันเป็นผู้พัฒนา Java และ C # ยิ่งฉันดู Ruby on Rails มากเท่าไหร่ฉันก็ยิ่งต้องการเรียนรู้มากเท่านั้น คุณพบว่าอะไรเป็นเส้นทางที่ดีที่สุดในการเรียนรู้ RoR จะพัฒนาบน Windows ได้ง่ายขึ้นหรือฉันควรรันเครื่องเสมือนกับ Linux หรือไม่ มี IDE ที่สามารถจับคู่ความทนทานของ Visual Studio ได้หรือไม่ โปรแกรมใดที่จะพัฒนาซึ่งให้ค่าใช้จ่ายที่ดีในสิ่งที่ต้องทำ? มีหนังสือดีๆสักเล่ม? อย่างจริงจังเคล็ดลับ / เทคนิค / พูดจาโผงผางจะน่ากลัว
241 ruby-on-rails  ruby  ide 

7
แปลงสตริงให้เป็นสัญลักษณ์ได้ในทับทิม
สัญลักษณ์มักจะแสดงเช่นนี้ :book_author_title แต่ถ้าฉันมีสตริง: "Book Author Title" มีวิธีที่สร้างขึ้นใน rails / ruby ​​เพื่อแปลงมันเป็นสัญลักษณ์ที่ฉันสามารถใช้: สัญกรณ์ได้โดยไม่ต้องเปลี่ยนสตริงสตริง regex ดิบ?

6
Rails ตัวอย่าง SQL ดิบ
ฉันจะแปลงรหัสนี้เป็น sql raw และใช้ในรางได้อย่างไร เพราะเมื่อฉันปรับใช้รหัสนี้ใน heroku มีข้อผิดพลาดการหมดเวลาคำขอฉันคิดว่ามันจะเร็วขึ้นถ้าฉันใช้ raw sql @payments = PaymentDetail.joins(:project).order('payment_details.created_at desc') @payment_errors = PaymentError.joins(:project).order('payment_errors.created_at desc') @all_payments = (@payments + @payment_errors)
239 sql  ruby-on-rails 

11
Rails: เลือกค่าที่ไม่ซ้ำจากคอลัมน์
ฉันมีวิธีแก้ปัญหาการทำงานอยู่แล้ว แต่ฉันอยากรู้ว่าทำไมสิ่งนี้ถึงใช้งานไม่ได้: ratings = Model.select(:rating).uniq ratings.each { |r| puts r.rating } มันเลือก แต่ไม่พิมพ์ค่าที่ไม่ซ้ำกันมันจะพิมพ์ค่าทั้งหมดรวมถึงรายการที่ซ้ำกัน และอยู่ในเอกสารประกอบ: http://guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields

11
ActiveSupport คงที่แบบไม่กำหนดค่าเริ่มต้น :: การพึ่งพา :: Mutex (NameError)
เมื่อฉันต้องการสร้างโครงการ Ruby on Rails ฉันได้รับข้อความด้านล่าง /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError) from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support.rb:57 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/rails_generator.rb:31 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/bin/rails:15 from /usr/bin/rails:19:in `load' from /usr/bin/rails:19 มีอะไรผิดพลาด? ฉันจะแก้ไขได้อย่างไร

17
คำเตือน: ไม่สามารถตรวจสอบรางความถูกต้องของโทเค็น CSRF
ฉันกำลังส่งข้อมูลจากมุมมองถึงตัวควบคุมด้วย AJAX และฉันได้รับข้อผิดพลาดนี้: คำเตือน: ไม่สามารถตรวจสอบความถูกต้องของโทเค็น CSRF ฉันคิดว่าฉันต้องส่งโทเค็นนี้พร้อมข้อมูล ไม่มีใครรู้ว่าฉันจะทำสิ่งนี้ได้อย่างไร แก้ไข: โซลูชันของฉัน ฉันทำได้โดยใส่รหัสต่อไปนี้ในโพสต์ AJAX: headers: { 'X-Transaction': 'POST Example', 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') },

5
แทนที่ตัวควบคุมการลงทะเบียนประดิษฐ์
ฉันได้เพิ่มเขตข้อมูลลงในแบบฟอร์มการสมัครใช้งานซึ่งยึดตามแบบจำลองอื่นดูที่ฉันจะใช้แอตทริบิวต์แบบซ้อนกับแบบจำลองรุ่นสำหรับรายละเอียดเลือดได้อย่างไร ส่วนนี้ทำงานได้ดี ปัญหาตอนนี้คือเมื่อฉันบันทึกมันล้มเหลวในการสร้างการกระทำของตัวควบคุมการลงทะเบียนที่จัดทำโดยประดิษฐ์ด้วยActiverecord::UnknownAttributeErrorในฟิลด์นี้ (บริษัท ) ฉันสมมติว่าฉันต้องการแทนที่คอนโทรลเลอร์การลงทะเบียนหรือมีวิธีที่ดีกว่า / ง่ายกว่าที่ฉันควรเข้าใกล้สิ่งนี้หรือไม่?

6
ความแตกต่างระหว่าง attr_accessor และ attr_accessible
ใน Rails อะไรคือความแตกต่างระหว่างattr_accessorและattr_accessible? จากความเข้าใจของฉันโดยใช้attr_accessorใช้ในการสร้างทะเยอทะยานและวิธีการในการตั้งค่าตัวแปรที่เพื่อให้เราสามารถเข้าถึงตัวแปรเหมือนหรือObject.variableObject.variable = some_value ฉันอ่านว่าattr_accessibleทำให้ตัวแปรเฉพาะนั้นเข้าถึงได้จากโลกภายนอก ใครช่วยได้โปรดบอกฉันว่าอะไรคือความแตกต่าง

6
งานเรคของ Rails ให้การเข้าถึงกับรุ่น ActiveRecord หรือไม่?
ฉันพยายามสร้างงานเรคที่กำหนดเอง แต่ดูเหมือนว่าฉันไม่สามารถเข้าถึงโมเดลของฉันได้ ฉันคิดว่านี่เป็นสิ่งที่รวมอยู่ในงานทางรถไฟโดยปริยาย ฉันมีรหัสต่อไปนี้ใน lib / task / test.rake: namespace :test do task :new_task do puts Parent.all.inspect end end และนี่คือรูปแบบผู้ปกครองของฉันที่มีลักษณะ: class Parent < ActiveRecord::Base has_many :children end มันเป็นตัวอย่างง่ายๆ แต่ฉันได้รับข้อผิดพลาดดังต่อไปนี้: /> rake test:new_task (in /Users/arash/Documents/dev/soft_deletes) rake aborted! uninitialized constant Parent (See full trace by running task with --trace) ความคิดใด ๆ ขอบคุณ

10
การแปลงเคสอูฐเป็นขีดล่างเป็นทับทิม
มีฟังก์ชั่นที่พร้อมใช้งานใดบ้างที่แปลงสตริงตัวอูฐเป็นสตริงที่คั่นด้วยเครื่องหมายขีดล่าง? ฉันต้องการสิ่งนี้: "CamelCaseString".to_underscore เพื่อส่งคืน "camel_case_string" ...

5
ใช้ไฟล์ rvmrc หรือ ruby-version เพื่อตั้งค่า project gemset ด้วย RVM หรือไม่
ฉันใช้ RVM ผู้จัดการทับทิมเวอร์ชันเพื่อระบุรุ่นทับทิมและชุดอัญมณีสำหรับโครงการ Rails ของฉัน ฉันมี.rvmrcไฟล์ให้เลือกรุ่น Ruby และ gemset โดยอัตโนมัติทุกครั้งที่ฉันcdเข้าสู่ไดเรกทอรีโครงการ หลังจากติดตั้ง RVM 1.19.0 ฉันได้รับข้อความ คุณกำลังใช้.rvmrcก็ต้องไว้วางใจก็จะช้าและมันเข้ากันไม่ได้กับผู้จัดการทับทิมอื่น ๆ ที่คุณสามารถสลับไป .ruby-versionใช้rvm rvmrc to [.]ruby-versionหรือไม่สนใจคำเตือนนี้กับrvm rvmrc warning ignore /Users/userName/code/railsapps/rails-prelaunch-signup/.rvmrc, .rvmrcจะยังคงเป็นไฟล์โครงการเริ่มต้นใน RVM ที่ 1 และ RVM 2 ที่จะไม่สนใจ rvm rvmrc warning ignore all.rvmrcsคำเตือนสำหรับไฟล์ทั้งหมดที่ทำงาน ฉันควรใช้.rvmrcไฟล์ต่อไปหรือเปลี่ยนเป็น.ruby-versionไฟล์? อันไหนดีที่สุด? อะไรคือสาขาย่อย


4
โหลดไฟล์ lib อัตโนมัติใน Rails 4
ฉันใช้บรรทัดต่อไปนี้ใน initializer เพื่อสร้างรหัสอัตโนมัติใน/libไดเรกทอรีของฉันในระหว่างการพัฒนา: config / initializers / custom.rb: RELOAD_LIBS = Dir[Rails.root + 'lib/**/*.rb'] if Rails.env.development? (จากRails 3 Quicktip: โหลดโฟลเดอร์ lib ซ้ำอัตโนมัติในโหมดการพัฒนา ) มันใช้งานได้ดี แต่ไม่มีประสิทธิภาพเกินกว่าที่จะใช้ในการผลิต - แทนที่จะโหลด libs ในแต่ละคำขอฉันแค่ต้องการโหลดมันเมื่อเริ่มต้น บล็อกเดียวกันมีบทความอื่นที่อธิบายวิธีการนี้: config / application.rb: # Custom directories with classes and modules you want to be autoloadable. config.autoload_paths += %W(#{config.root}/lib) config.autoload_paths += Dir["#{config.root}/lib/**/"] …

5
params Rails อธิบาย?
ใครสามารถอธิบายได้paramsในตัวควบคุม Rails: พวกเขามาจากที่ใดและพวกเขากำลังอ้างอิงอะไร def create @vote = Vote.new(params[:vote]) item = params[:vote][:item_id] uid = params[:vote][:user_id] @extant = Vote.find(:last, :conditions => ["item_id = ? AND user_id = ?", item, uid]) last_vote_time = @extant.created_at unless @extant.blank? curr_time = Time.now end ฉันต้องการที่จะสามารถอ่านโค้ดนี้ทีละบรรทัดและเข้าใจสิ่งที่เกิดขึ้น

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