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

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


26
ราง + MySQL บน OSX: ไม่ได้โหลดไลบรารี: libmysqlclient.18.dylib
ฉันเพิ่งเริ่มต้นด้วย Ruby (และราง) ฉันตั้งค่าตามhttp://ruby.railstutorial.org/ruby-on-rails-tutorial-book#sec:ruby gems โดยใช้rvm. ฉันมีทุกอย่างที่ทำงานได้ดีกับ sqlite ตอนนี้ฉันต้องการลองแปลงสิ่งต่าง ๆ เป็น MySQL เนื่องจากนั่นคือสิ่งที่ฉันพัฒนาส่วนใหญ่ด้วย ใน Gemfile ของฉันฉันได้แทนที่ sqlite ด้วย mysql2: group :development, :test do # gem 'sqlite3', '1.3.5' gem 'mysql2' gem 'rspec-rails', '2.9.0' end แต่เมื่อฉันพยายามสร้าง DB สำหรับรางใน MySQL ฉันได้รับ: $ rake db:create --trace rake aborted! dlopen(/Users/username/.rvm/gems/ruby-1.9.3-p194@rails3tutorial2ndEd/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib …

8
ส่งผ่านเมธอดเป็นพารามิเตอร์ใน Ruby
ฉันพยายามจะยุ่งกับรูบี้เล็กน้อย ดังนั้นฉันจึงพยายามใช้อัลกอริทึม (ให้ไว้ใน Python) จากหนังสือ "Programming Collective Intelligence" Ruby ในบทที่ 8 ผู้เขียนส่งวิธี a เป็นพารามิเตอร์ ดูเหมือนว่าจะใช้ได้ใน Python แต่ไม่ใช่ใน Ruby ฉันมีวิธีการที่นี่ def gaussian(dist, sigma=10.0) foo end และต้องการเรียกสิ่งนี้ด้วยวิธีอื่น def weightedknn(data, vec1, k = 5, weightf = gaussian) foo weight = weightf(dist) foo end สิ่งที่ฉันได้รับคือข้อผิดพลาด ArgumentError: wrong number of arguments (0 for 1)
119 ruby  parameters  methods 

11
จะเคลียร์งานทั้งหมดจาก Sidekiq ได้อย่างไร?
ฉันใช้ sidekiq สำหรับงานเบื้องหลังในแอปพลิเคชัน Rails ตอนนี้จำนวนงานมากขึ้นก็เลยอยากเคลียร์งานทั้งหมด ฉันลองคำสั่งต่อไปนี้ในคอนโซล Sidekiq::Queue.new.clear แต่มันให้ข้อผิดพลาดต่อไปนี้ NameError: uninitialized constant Sidekiq::Queue ฉันจะเคลียร์งานทั้งหมดจาก sidekiq ได้อย่างไร

11
จะทำให้ Ruby / Homebrew / RVM ทำงานกับ Yosemite ได้อย่างไร?
หลังจากติดตั้ง Yosemite ฉันไม่สามารถเรียกใช้การชงหรือทับทิมได้ ฉันได้รับข้อผิดพลาดนี้ในการอัปเดตเบียร์: /usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory /usr/local/bin/brew: line 23: /usr/local/Library/brew.rb: Undefined error: 0 รับข้อผิดพลาดนี้บน irb: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:in mkdir': Permission denied - /Library/Ruby/Gems/2.0.0/extensions/universal-darwin-14 (Errno::EACCES) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:245:infu_mkdir' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:219:in block (2 levels) in mkdir_p' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:inreverse_each' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:217:in block in mkdir_p' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:ineach' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/fileutils.rb:203:in …

4
ใช้ --no-rdoc และ --no-ri กับมัดเลอร์
เมื่อใช้gem install gem_nameฉันสามารถส่งผ่าน--no-rdocและ--no-riสลับเพื่อข้ามการสร้างเอกสาร RDoc / RI สำหรับอัญมณีเมื่อติดตั้ง มีวิธีคล้ายกันในการทำเช่นนี้bundle installหรือไม่?

9
จะทำให้ Sinatra โหลดไฟล์ซ้ำโดยอัตโนมัติหลังจากการเปลี่ยนแปลงแต่ละครั้งได้อย่างไร?
ฉันใช้ # my_app.rb load 'index.rb' และเริ่มต้นเซิร์ฟเวอร์เช่นนี้ ruby my_app.rb แต่จะไม่โหลดการเปลี่ยนแปลงใด ๆ ที่ฉันทำในหน้าดัชนีซ้ำ ฉันพลาดอะไรที่นี่ไปหรือเปล่า?
118 ruby  sinatra 

6
Ruby Hash เป็นอาร์เรย์ของค่า
ฉันมีสิ่งนี้: hash = { "a"=>["a", "b", "c"], "b"=>["b", "c"] } และฉันต้องการไปที่สิ่งนี้: [["a","b","c"],["b","c"]] ดูเหมือนว่าควรจะใช้งานได้ แต่ไม่: hash.each{|key,value| value} => {"a"=>["a", "b", "c"], "b"=>["b", "c"]} ข้อเสนอแนะใด ๆ ?
118 ruby  arrays  hash 

5
แปลงสตริงเป็นทับทิมนิพจน์ทั่วไป
ฉันต้องการแปลงสตริงเช่น "/ [\ w \ s] + /" เป็นนิพจน์ทั่วไป "/[\w\s]+/" => /[\w\s]+/ ฉันลองใช้Regexpวิธีต่างๆเช่น: Regexp.new("/[\w\s]+/") => /\/[w ]+\//ในทำนองเดียวกันRegexp.compileและRegexp.escape. แต่ไม่มีผลตอบแทนตามที่ฉันคาดไว้ เพิ่มเติมฉันลองลบแบ็กสแลช: Regexp.new("[\w\s]+") => /[w ]+/ แต่ไม่มีโชค. จากนั้นฉันก็พยายามทำมันง่ายๆ: str = "[\w\s]+" => "[w ]+" มันหนีไป ตอนนี้สตริงจะยังคงเหมือนเดิมและแปลงเป็นวัตถุ regexp ได้อย่างไร
118 ruby  regex  string  ruby-1.9.3 

10
วิธีค้นหาข้อความไฟล์สำหรับรูปแบบและแทนที่ด้วยค่าที่กำหนด
ฉันกำลังมองหาสคริปต์เพื่อค้นหาไฟล์ (หรือรายการไฟล์) สำหรับรูปแบบและหากพบให้แทนที่รูปแบบนั้นด้วยค่าที่กำหนด คิด?
117 ruby  file-io 

7
ข้อผิดพลาด: เกิดข้อผิดพลาดในการติดตั้ง capybara-webkit:
ข้อเสนอแนะในการแก้ไขปัญหา? gem install capybara-webkit -v '0.11.0' Building native extensions. This could take a while... ERROR: Error installing capybara-webkit: ERROR: Failed to build gem native extension. /home/durrantm/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb sh: qmake: not found Gem files will remain installed in /home/durrantm/.rvm/gems/ruby-1.9.3-p194/gems/capybara-webkit-0.11.0 for inspection. Results logged to /home/durrantm/.rvm/gems/ruby-1.9.3-p194/gems/capybara-webkit-0.11.0/./gem_make.out

8
วิธีแก้ปัญหา“ คุณต้องติดตั้ง Ruby และ Sass และอยู่ใน PATH เพื่อให้งานนี้ทำงานได้” คำเตือน?
ฉันอยู่ระหว่างการตั้งค่า Mac เครื่องใหม่สำหรับการทำงาน ฉันได้ติดตั้ง Grunt & Grunt CLI ทั่วโลกแล้ว จากนั้นฉันก็npm installเข้าไปในโฟลเดอร์โครงการเพื่อติดตั้งการอ้างอิงทั้งหมด ยังไม่มีปัญหา แต่ทันทีที่ฉันพยายามเรียกใช้sass:distงานฉันได้รับคำเตือนนี้: Warning: You need to have Ruby and Sass installed and in your PATH for this task to work. More info: https://github.com/gruntjs/grunt-contrib-sass Use --force to continue. สิ่งที่ฉันเข้าใจคือฉันต้องติดตั้ง Ruby และ Sass ในระดับสากลมากขึ้นเพื่อให้งานนี้ทำงานได้ เนื่องจากฉันยังค่อนข้างใหม่ในการทำงานกับเทอร์มินัลฉันจึงทำการค้นหาอย่างรวดเร็วเพื่อค้นหาว่าPATHคืออะไร- ดูเหมือนว่าเส้นทางของระบบบางส่วน (ที่สามารถเปลี่ยนแปลงได้) ซึ่งมีการจัดเก็บข้อมูลสำคัญ นี่หมายความว่าฉันสามารถsudo grunt install …
117 ruby  macos  bash  terminal  sass 

8
ฉันจะอัพเกรด Ruby 1.9.2-p0 เป็นระดับแพตช์ล่าสุดโดยใช้ rvm ได้อย่างไร?
Ruby เวอร์ชันปัจจุบันของฉันคือruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.5.0]แต่ฉันต้องการอัปเดตเป็นระดับแพตช์ล่าสุดโดยใช้ rvm ฉันจะทำเช่นนี้ได้อย่างไร?
116 ruby-on-rails  ruby  rvm 

5
ฉันจะห่อ link_to รอบรหัสทับทิม html ได้อย่างไร
ฉันจะรวมลิงค์รอบ ๆ ดูโค้ดได้อย่างไร ฉันคิดไม่ออกว่าจะส่งรหัสทับทิมหลายบรรทัดไปยังlink_toวิธีการเดียวได้อย่างไร ผลลัพธ์ที่ฉันกำลังมองหาคือคุณคลิกที่คอลัมน์และรับหน้าแสดง: <div class="subcolumns"> <div class="c25l"> <div class="subcl"> <%= image_tag album.photo.media.url(:thumb), :class => "image" rescue nil %> </div> </div> <div class="c75r"> <div class="subcr"> <p><%= album.created_at %></p> <%= link_to h(album.title), album %> <p><%= album.created_at %></p> <p><%= album.photo_count %></p> </div> </div> </div>

18
Rails 4: สินทรัพย์ไม่โหลดในการผลิต
ฉันพยายามนำแอปไปใช้งานจริง แต่รูปภาพและเส้นทางเนื้อหา css ไม่ทำงาน นี่คือสิ่งที่ฉันกำลังทำอยู่: เนื้อหารูปภาพอยู่ใน /app/assets/images/image.jpg สไตล์ชีตอยู่ใน /app/assets/stylesheets/style.css ในเลย์เอาต์ของฉันฉันอ้างอิงไฟล์ css ดังนี้: <%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %> ก่อนที่จะรีสตาร์ทยูนิคอร์นฉันรันRAILS_ENV=production bundle exec rake assets:precompileและมันก็สำเร็จและฉันเห็นไฟล์ที่มีลายนิ้วมือในpublic/assetsไดเรกทอรี เมื่อฉันเรียกดูไซต์ของฉันฉันได้รับข้อผิดพลาด 404 ไม่พบสำหรับmysite.com/stylesheets/styles.css. ผมทำอะไรผิดหรือเปล่า? อัปเดต: ในเค้าโครงของฉันมีลักษณะดังนี้: <%= stylesheet_link_tag "bootstrap.min", media: "all", "data-turbolinks-track" => true %> <%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %> …

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