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

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

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

6
สำเนาของ xxx ถูกลบออกจากโครงสร้างโมดูล แต่ยังทำงานอยู่
ฉันค่อนข้างมั่นใจว่าข้อผิดพลาดไม่เกี่ยวข้องกับเนื้อหาจริงของTenantIdLoaderโมดูล แต่มันมีบางอย่างที่เกี่ยวข้องกับการActiveSupportพึ่งพา ดูเหมือนว่าฉันจะผ่านข้อผิดพลาดนี้ไม่ได้ จากสิ่งที่ฉันอ่านอาจเป็นเพราะActiveRecord::Baseกำลังโหลดซ้ำหรือCompany::TenantIdLoaderกำลังโหลดซ้ำและมันก็ไม่ได้สื่อถึงสิ่งนั้น ช่วยด้วย! ฉันอยากจะอัปเกรดเป็น Rails 4.2 แก้ไข ตอนนี้ฉันได้เรียนรู้แล้วว่าเป็นเพราะฉันกำลังอ้างอิงTenantซึ่งกำลังโหลดซ้ำโดยอัตโนมัติ ฉันต้องสามารถอ้างอิงชั้นเรียนได้จริงมีใครรู้วิธีแก้ปัญหานี้บ้าง config / application.rb config.autoload_paths += %W( #{config.root}/lib/company ) config / initializers / company.rb ActionMailer::Base.send(:include, Company::TenantIdLoader) lib / บริษัท / tenant_id_loader.rb module Company module TenantIdLoader extend ActiveSupport::Concern included do cattr_accessor :tenant_dependency self.tenant_dependency = {} after_initialize do self.tenant_id = Tenant.active.id if …

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 …


4
วันที่จัดรูปแบบราง
ฉันกำลังโพสต์วันที่ไปยัง API และรูปแบบที่ต้องการมีดังนี้: 2014-12-01T01:29:18 ฉันสามารถหาวันที่ได้จากแบบจำลองดังนี้: Model.created_at.to_s ที่ส่งคืน: 2014-12-01 01:29:18 -0500 ฉันจะใช้ Rails หรือ Ruby เพื่อจัดรูปแบบให้เหมือนกับรูปแบบที่ต้องการด้วย T และลบ -0500 ได้อย่างไร

8
Rails CSRF Protection + Angular.js: protect_from_forgery ทำให้ฉันออกจากระบบ POST
หากprotect_from_forgeryมีการกล่าวถึงตัวเลือกใน application_controller ฉันสามารถเข้าสู่ระบบและดำเนินการตามคำขอ GET ใด ๆ ได้ แต่ในคำขอ POST แรก Rails จะรีเซ็ตเซสชันซึ่งจะทำให้ฉันไม่สามารถใช้งานได้ ฉันprotect_from_forgeryปิดตัวเลือกนี้ชั่วคราว แต่ต้องการใช้กับ Angular.js มีวิธีทำบ้างไหม

13
การติดตั้งราง Ubuntu ล้มเหลวบน zlib
ฉันเพิ่งย้ายไปยัง Ubuntu 8.10 เป็นกล่อง dev ของฉัน มันเป็นการโจมตีครั้งแรกของฉันใน Linux ในฐานะระบบปฏิบัติการที่ใช้ประจำวันและฉันก็ลำบากมากที่ Rails จะเริ่มทำงาน ฉันได้ติดตามบทเรียนจำนวนหนึ่งซึ่งดูเหมือนว่าจะทำงานได้ดี แต่เมื่อฉันลองและใช้ติดตั้ง gem หรืออัพเดตอัญมณีในทุกสิ่งฉันได้รับข้อผิดพลาดที่มีลักษณะดังนี้: /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- zlib (LoadError) from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/spec_fetcher.rb:1 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb:5 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:167:in `load_and_instantiate' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:88:in `[]' …

2
ทับทิมบนราง. ฉันจะใช้วิธีการสร้างเรกคอร์ด. Active ใน a: เป็นของความสัมพันธ์ได้อย่างไร
ฉันไม่พบเอกสารใด ๆ เกี่ยวกับวิธีการสร้างใน Rails (ขณะนี้ฉันใช้ 2.0.2) ดูเหมือนว่าคุณสามารถใช้วิธีการสร้างเพื่อเพิ่มระเบียนลงในhas_manyความสัมพันธ์ก่อนที่จะบันทึกระเบียนใดก็ได้ ตัวอย่างเช่น: class Dog < ActiveRecord::Base has_many :tags belongs_to :person end class Person < ActiveRecord::Base has_many :dogs end # rails c d = Dog.new d.tags.build(:number => "123456") d.save # => true สิ่งนี้จะช่วยทั้งสุนัขและแท็กด้วยปุ่มต่างประเทศอย่างเหมาะสม สิ่งนี้ดูเหมือนจะไม่ทำงานในbelongs_toความสัมพันธ์ d = Dog.new d.person.build # => nil object on nil.build ฉันได้ลองแล้ว …

10
Rails 5: โหลดไฟล์ lib ในการผลิต
ฉันได้อัปเกรดหนึ่งในแอปของฉันจาก Rails 4.2.6 เป็น Rails 5.0.0 อัพเกรดคู่มือกล่าวว่าคุณลักษณะ Autoload ถูกปิดใช้งานในขณะนี้ในการผลิตโดยค่าเริ่มต้น ตอนนี้ฉันมักจะได้รับข้อผิดพลาดบนเซิร์ฟเวอร์การผลิตของฉันเนื่องจากฉันโหลดไฟล์ lib ทั้งหมดด้วย autoload ในapplication.rbไฟล์ module MyApp class Application < Rails::Application config.autoload_paths += %W( lib/ ) end end สำหรับตอนนี้ผมได้ตั้งconfig.enable_dependency_loadingไปtrueแต่ผมสงสัยว่ามีทางออกที่ดีกว่านี้ ต้องมีเหตุผลที่ทำให้การโหลดอัตโนมัติถูกปิดใช้งานในการใช้งานจริงโดยค่าเริ่มต้น

6
Rails 4 LIKE query - ActiveRecord เพิ่มเครื่องหมายคำพูด
ฉันกำลังพยายามทำแบบสอบถามแบบนี้ def self.search(search, page = 1 ) paginate :per_page => 5, :page => page, :conditions => ["name LIKE '%?%' OR postal_code like '%?%'", search, search], order => 'name' end แต่เมื่อมีการเรียกใช้บางสิ่งบางอย่างกำลังเพิ่มเครื่องหมายคำพูดซึ่งทำให้คำสั่ง sql ออกมาเป็นเช่นนั้น SELECT COUNT(*) FROM "schools" WHERE (name LIKE '%'havard'%' OR postal_code like '%'havard'%')): คุณจะเห็นปัญหาของฉัน ฉันใช้ Rails 4 และ Postgres …

5
Rails ตรวจสอบว่าคำขอเป็น AJAX หรือไม่
ในการดำเนินการของฉันฉันต้องการตอบกลับด้วยการประมวลผลหากถูกเรียกจากคำขอ AJAX เท่านั้น ฉันจะตรวจสอบได้อย่างไร? ฉันต้องการทำสิ่งนี้: def action @model = Model.find(params[:id]) respond_to do |format| if (wasAJAXRequest()) #How do I do this? format.html #action.html.erb else format.html {redirect_to root_url} end end

10
วิธีการตั้งค่าส่วนหัวของคำขอใน rspec request spec?
ในข้อมูลจำเพาะคอนโทรลเลอร์ฉันสามารถตั้งค่า http accept header ได้ดังนี้: request.accept = "application/json" แต่ในข้อกำหนดคำขอออบเจ็กต์ "request" เป็นศูนย์ แล้วฉันจะมาทำที่นี่ได้อย่างไร? เหตุผลที่ฉันต้องการตั้งค่า http accept header เป็น json คือฉันสามารถทำได้: get '/my/path' แทนสิ่งนี้ get '/my/path.json'

1
Rails response_with: มันทำงานอย่างไร
ฉันได้อ่านที่นี่และเกี่ยวกับวิธีที่ยอดเยี่ยมrespond_withใน Rails 3 แต่ฉันไม่พบการอ้างอิงถึงมันใน Rails APIs หรือโดยการค้นหาแหล่งที่มา ใครช่วยอธิบายให้ฉันฟังหน่อยได้ไหมว่ามันทำงานอย่างไร (คุณสามารถใช้ตัวเลือกอะไร ฯลฯ ) หรือชี้ให้ฉันดูที่ที่มันใช้งานจริงเพื่อที่ฉันจะได้อ่านโค้ดด้วยตัวเอง

12
วิธีการจัดรูปแบบที่ดีในคอนโซล Rails
ฉันต้องการได้รับสิ่งนี้เพื่อดูดี: >> ProductColor.all => [#<ProductColor id: 1, name: "White", internal_name: "White", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">, #<ProductColor id: 2, name: "Ivory", internal_name: "Ivory", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">, #<ProductColor id: 3, name: "Blue", internal_name: "Light Blue", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">, #<ProductColor id: 4, name: "Green", internal_name: …
127 ruby-on-rails  irb 

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