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

Ruby เป็นหลายภาษาแพลตฟอร์มตีความโอเพ่นซอร์สเชิงวัตถุแบบไดนามิกที่สร้างขึ้นโดย Yukihiro Matsumoto (Matz) ในปี 1995 แท็ก [ruby] สำหรับคำถามที่เกี่ยวข้องกับภาษา Ruby รวมถึงไวยากรณ์และห้องสมุดของมัน ควรติดแท็กคำถาม Ruby on Rails ด้วย [ruby-on-rails]

8
พารามิเตอร์เสริม Ruby
หากฉันกำหนดฟังก์ชัน Ruby ไว้ดังนี้: def ldap_get ( base_dn, filter, scope=LDAP::LDAP_SCOPE_SUBTREE, attrs=nil ) ฉันจะเรียกมันว่าจัดหาเฉพาะ 2 อาร์กิวเมนต์แรกและอาร์กิวเมนต์สุดท้ายได้อย่างไร ทำไมถึงไม่เหมือน ldap_get( base_dn, filter, , X) เป็นไปได้หรือถ้าเป็นไปได้จะทำได้อย่างไร?

10
จะรัน Rails console ในสภาพแวดล้อมการทดสอบและโหลด test_helper.rb ได้อย่างไร?
พื้นหลัง: ฉันมีปัญหาบางอย่างกับอัญมณี "Factory Girl" ของ Thoughtbot ซึ่งใช้ในการสร้างวัตถุเพื่อใช้ในหน่วยและการทดสอบอื่น ๆ ฉันต้องการไปที่คอนโซลและเรียกใช้ Factory Girl ที่แตกต่างกันเพื่อตรวจสอบว่าเกิดอะไรขึ้น ตัวอย่างเช่นฉันอยากไปที่นั่นทำ ... >> Factory(:user).inspect ฉันรู้ว่าคุณสามารถเรียกใช้คอนโซลในสภาพแวดล้อมที่แตกต่างกัน ... $ script / console RAILS_ENV = test แต่เมื่อฉันทำเช่นนั้นคลาสโรงงานจะไม่สามารถใช้ได้ ดูเหมือนว่าจะtest_helper.rbไม่ได้รับการโหลด ฉันลองrequireโทรหลายครั้งรวมถึงหนึ่งสายที่มีเส้นทางสัมบูรณ์test_helper.rbแต่ก็ล้มเหลวในทำนองนี้: $ script/console RAILS_ENV=test >> require '/Users/ethan/project/contactdb/test/test_helper.rb' Errno::ENOENT: No such file or directory - /Users/ethan/project/contactdb/config/environments/RAILS_ENV=test.rb Grr โอ๊ะ

4
ฉันจะสร้างอินสแตนซ์คลาสจากชื่อสตริงในทับทิมได้อย่างไร
ฉันมีชื่อของคลาสและฉันต้องการสร้างอินสแตนซ์ของคลาสนั้นเพื่อให้ฉันสามารถวนลูปผ่านแต่ละแอททริบิวต์รางที่มีอยู่ในสคีมาของคลาสนั้น ฉันจะทำอย่างนั้นได้อย่างไร? ฉันมีชื่อเป็นสตริงของคลาสที่ฉันต้องการตรวจสอบ ฉันเดาว่าฉันต้องสร้างอินสแตนซ์ของคลาสเพื่อที่ฉันจะได้ วนดูแอตทริบิวต์และพิมพ์

6
Strip html จากสตริง Ruby on Rails
ฉันกำลังทำงานกับ Ruby on Rails มีวิธีการดึงhtmlออกจากสตริงโดยใช้วิธีการฆ่าเชื้อหรือเท่ากับและเก็บเฉพาะข้อความไว้ในแอตทริบิวต์ค่าบนแท็กอินพุตหรือไม่?

17
วิธีการใช้คลาสนามธรรมในทับทิม?
ฉันรู้ว่าไม่มีแนวคิดเรื่องชนชั้นนามธรรมในทับทิม แต่ถ้าจำเป็นต้องมีการดำเนินการจะดำเนินการอย่างไร? ฉันลองทำสิ่งที่ชอบ ... class A def self.new raise 'Doh! You are trying to write Java in Ruby!' end end class B < A ... ... end แต่เมื่อฉันพยายามสร้างอินสแตนซ์ B มันกำลังจะเรียกภายในA.newซึ่งจะเพิ่มข้อยกเว้น นอกจากนี้โมดูลไม่สามารถสร้างอินสแตนซ์ได้ แต่ไม่สามารถสืบทอดได้เช่นกัน การทำให้วิธีการใหม่เป็นแบบส่วนตัวจะไม่ได้ผลเช่นกัน คำแนะนำใด ๆ

6
Ruby แทนที่สตริงด้วยรูปแบบ regex ที่จับ
ฉันมีปัญหาในการแปลสิ่งนี้เป็น Ruby นี่คือส่วนหนึ่งของ JavaScript ที่ทำในสิ่งที่ฉันต้องการทำ: function get_code(str){ return str.replace(/^(Z_.*): .*/,"$1")​​​​​​​​​​​​​​​​​​​​​​​​​​​; } ฉันได้พยายามgsub , ย่อยและแทนที่แต่ไม่มีดูเหมือนจะทำสิ่งที่ผมคาดหวังว่า นี่คือตัวอย่างของสิ่งที่ฉันได้ลอง: "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/) { |capture| capture } "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/, "$1") "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/, "#{$1}") "Z_sdsd: sdsd".gsub(/^(Z_.*): .*/, "\1") "Z_sdsd: sdsd".gsub(/(.).*/) { |capture| capture }
121 ruby  regex  replace 

4
ฉันจะจัดเรียงอาร์เรย์ของแฮชตามค่าในแฮชได้อย่างไร
รหัส Ruby นี้ไม่ทำงานตามที่ฉันคาดหวัง: # create an array of hashes sort_me = [] sort_me.push({"value"=>1, "name"=>"a"}) sort_me.push({"value"=>3, "name"=>"c"}) sort_me.push({"value"=>2, "name"=>"b"}) # sort sort_me.sort_by { |k| k["value"]} # same order as above! puts sort_me ฉันต้องการจัดเรียงอาร์เรย์ของแฮชตามคีย์ "ค่า" แต่ถูกพิมพ์โดยไม่เรียงลำดับ
121 ruby  arrays  sorting  hash 

16
บล็อกความคิดเห็นในเทมเพลต html.erb ในราง
คุณคิดเห็นอย่างไรกับ html ผสมกับรหัสทับทิม? some text <% ... %> more text <%= ... %> something else <% ... %> ใน jsp มันง่าย<%-- ... --%>มาก แต่ฉันไม่พบตัวเลือกที่กระชับในราง ความคิดเห็น html แบบธรรมดา<!-- ... -->ไม่ทำงาน: รหัสทับทิมยังคงถูกเรียกใช้และมีข้อผิดพลาด มีตัวเลือกให้ใช้if falseกับความคิดเห็นแบบ html แต่ค่อนข้างละเอียดไม่ต้องพูดถึง IDE ไม่รองรับ นอกจากนี้ยังมีตัวเลือกที่มาจากทับทิมบริสุทธิ์ซึ่งได้ผลอย่างน่าประหลาดใจ <% =begin %> ... html and ruby code goes here <% =end %> …
120 ruby-on-rails  ruby  erb 


2
อะไรคือความแตกต่างระหว่าง ~> และ> = เมื่อระบุ Rubygem ใน Gemfile
ฉันมักจะเห็นสัญกรณ์ต่อไปนี้ (~>) ใน Gemfile gem "cucumber", "~>0.8.5" gem "rspec", "~>1.3.0" ฉันรู้ว่าเครื่องหมาย (> =) มากกว่าหรือเท่ากับ แต่สัญกรณ์ (~>) หมายถึงอะไร ทั้งสองเหมือนกันหรือมีความแตกต่างอย่างมีนัยสำคัญหรือไม่?
120 ruby  rubygems  gemfile 

10
Ruby - แปลงตัวแปรเป็นอาร์เรย์อย่างหรูหราหากยังไม่มีอาร์เรย์
รับอาร์เรย์องค์ประกอบเดียวหรือศูนย์รับอาร์เรย์ - สองตัวหลังเป็นอาร์เรย์องค์ประกอบเดียวและอาร์เรย์ว่างตามลำดับ ฉันคิดผิดว่า Ruby จะทำงานในลักษณะนี้: [1,2,3].to_a #= [1,2,3] # Already an array, so no change 1.to_a #= [1] # Creates an array and adds element nil.to_a #= [] # Creates empty array แต่สิ่งที่คุณจะได้รับคือ: [1,2,3].to_a #= [1,2,3] # Hooray 1.to_a #= NoMethodError # Do not want nil.to_a #= [] # …
120 ruby  arrays 


5
วิธีติดตั้ง Ruby 2.1.4 บน Ubuntu 14.04
ฉันไม่รู้วิธีติดตั้ง Ruby ล่าสุดบน Ubuntu ก่อนอื่นฉันติดตั้ง Ruby 1.9.3 เริ่มต้นโดยใช้ sudo apt-get install ruby จากนั้นฉันพยายามติดตั้งเวอร์ชัน 2.0 โดยใช้ไฟล์ sudo apt-get install ruby2.0 Ruby เวอร์ชันของฉันยังคงเป็น "ruby 1.9.3p484 (2013-11-22 แก้ไข 43786) [x86_64-linux])" ฉันควรทำอย่างไรดี?

2
สามารถเข้าถึงดัชนีใน Hash แต่ละลูปได้หรือไม่?
ฉันอาจจะขาดบางอย่างที่ชัดเจน แต่มีวิธีเข้าถึงดัชนี / จำนวนการวนซ้ำภายในแฮชแต่ละลูปหรือไม่ hash = {'three' => 'one', 'four' => 'two', 'one' => 'three'} hash.each { |key, value| # any way to know which iteration this is # (without having to create a count variable)? }
119 ruby  enumerable 

7
มีปัญหาในการเปรียบเทียบเวลากับ RSpec
ฉันใช้ Ruby บน Rails 4 และ rspec-rail gem 2.14 สำหรับอ็อบเจ็กต์ของฉันฉันต้องการเปรียบเทียบเวลาปัจจุบันกับupdated_atแอ็ตทริบิวต์อ็อบเจ็กต์หลังจากรันแอ็คชันคอนโทรลเลอร์ แต่ฉันมีปัญหาเนื่องจากข้อมูลจำเพาะไม่ผ่าน นั่นคือกำหนดต่อไปนี้เป็นรหัสข้อมูลจำเพาะ: it "updates updated_at attribute" do Timecop.freeze patch :update @article.reload expect(@article.updated_at).to eq(Time.now) end เมื่อฉันเรียกใช้ข้อมูลจำเพาะข้างต้นฉันได้รับข้อผิดพลาดต่อไปนี้: Failure/Error: expect(@article.updated_at).to eq(Time.now) expected: 2013-12-05 14:42:20 UTC got: Thu, 05 Dec 2013 08:42:20 CST -06:00 (compared using ==) ฉันจะทำ spec ให้ผ่านได้อย่างไร? หมายเหตุ : ฉันลองทำสิ่งต่อไปนี้แล้วด้วย (สังเกตการutcเพิ่มเติม): …

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