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

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


14
AWS S3: ที่ฝากข้อมูลที่คุณพยายามเข้าถึงต้องได้รับการแก้ไขโดยใช้จุดสิ้นสุดที่ระบุ
ฉันพยายามลบไฟล์ภาพที่อัพโหลดด้วยอัญมณี Ruby AWS-SDK-Core ฉันมีรหัสต่อไปนี้: require 'aws-sdk-core' def pull_picture(picture) Aws.config = { :access_key_id => ENV["AWS_ACCESS_KEY_ID"], :secret_access_key => ENV["AWS_SECRET_ACCESS_KEY"], :region => 'us-west-2' } s3 = Aws::S3::Client.new test = s3.get_object( :bucket => ENV["AWS_S3_BUCKET"], :key => picture.image_url.split('/')[-2], ) end อย่างไรก็ตามฉันได้รับข้อผิดพลาดต่อไปนี้: ที่ฝากข้อมูลที่คุณพยายามเข้าถึงต้องได้รับการแก้ไขด้วยจุดสิ้นสุดที่ระบุ กรุณาส่งคำขอในอนาคตทั้งหมดไปยังจุดสิ้นสุดนี้ ฉันรู้ว่าภูมิภาคนั้นถูกต้องเพราะถ้าฉันเปลี่ยนus-east-1เป็นข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น: คีย์ที่ระบุไม่มีอยู่ ฉันทำอะไรผิดที่นี่

6
เอาต์พุตอาร์เรย์เป็น CSV ใน Ruby
มันง่ายพอที่จะอ่านไฟล์ CSV ลงในอาร์เรย์ที่มี Ruby แต่ฉันไม่พบเอกสารที่ดีเกี่ยวกับวิธีเขียนอาร์เรย์ลงในไฟล์ CSV ใครช่วยบอกฉันถึงวิธีการทำเช่นนี้? ฉันใช้ Ruby 1.9.2 ถ้าเป็นเช่นนั้น
185 ruby  csv 

14
ทำไมคนพูดว่าทับทิมช้า [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันชอบ Ruby on Rails และฉันใช้สำหรับโครงการพัฒนาเว็บไซต์ทั้งหมดของฉัน ไม่กี่ปีที่ผ่านมามีจำนวนมากของการพูดคุยเกี่ยวกับทางรถไฟเป็นคนเห็นแก่ตัวหน่วยความจำและเกี่ยวกับวิธีการมันไม่ได้ระดับดีมาก แต่คำแนะนำเหล่านี้ถูกนำไปที่เตียงโดยเกร็กพอลแล็คที่นี่ เมื่อเร็ว ๆ นี้ฉันได้ยินคนพูดว่ารูบี้ช้า ทำไม Ruby จึงถูกพิจารณาว่าช้า ฉันไม่พบว่า Ruby จะช้า แต่อีกครั้งฉันแค่ใช้มันเพื่อสร้างแอพ CRUD และบล็อกของ บริษัท โครงการประเภทใดที่ฉันต้องทำก่อนที่ฉันจะพบว่าทับทิมเริ่มช้า หรือความเชื่องช้านี้เป็นเพียงสิ่งที่มีผลต่อภาษาการเขียนโปรแกรมทั้งหมดหรือไม่ ตัวเลือกของคุณในฐานะโปรแกรมเมอร์ Ruby คืออะไรหากคุณต้องการจัดการกับ "ความเชื่องช้า" นี้? Ruby รุ่นใดที่เหมาะกับแอปพลิเคชั่นเช่น Stack Overflow ซึ่งมีความสำคัญต่อความเร็วและการจราจรหนาแน่น คำถามเป็นเรื่องส่วนตัวและฉันรู้ว่าการตั้งค่าสถาปัตยกรรม (EC2 เทียบกับเซิร์ฟเวอร์แบบสแตนด์อโลนและอื่น ๆ ) สร้างความแตกต่างใหญ่ แต่ฉันอยากได้ยินสิ่งที่ผู้คนคิดเกี่ยวกับทับทิมกำลังช้า ในที่สุดฉันไม่สามารถหาข่าวมากเกี่ยวกับ Ruby 2.0 …
184 ruby  performance 

8
การใช้ Sinatra สำหรับโครงการขนาดใหญ่ผ่านหลายไฟล์
ดูเหมือนว่าใน Sinatra ตัวจัดการเส้นทางทั้งหมดจะถูกเขียนเป็นไฟล์เดียวถ้าฉันเข้าใจถูกต้องมันจะทำหน้าที่เป็นตัวควบคุมขนาดใหญ่ / ขนาดเล็ก มีวิธีใดบ้างที่จะแบ่งออกเป็นไฟล์อิสระที่แยกต่างหากดังนั้นเมื่อมีคนเรียก "/" - ดำเนินการอย่างใดอย่างหนึ่งและหากได้รับ smth เช่น "/ posts / 2" จากนั้นดำเนินการอื่น - ตรรกะที่คล้ายกันซึ่งใช้ใน PHP ?
184 ruby  sinatra 

3
Ruby on Rails Callback ความแตกต่างระหว่าง: before_save และ: before_create คืออะไร
คุณช่วยอธิบายรายละเอียดเกี่ยวกับการเรียกกลับ:before_saveและ:before_createRuby on Rails ได้อย่างไรและพวกเขาต้องทำอย่างไรกับการตรวจสอบความถูกต้องของ Rails? การตรวจสอบเกิดขึ้นหลังจาก:before_saveหรือ:before_createไม่?

9
เมื่อใดที่ฉันควรใช้ Struct vs. OpenStruct
โดยทั่วไปแล้วข้อดีและข้อเสียของการใช้ OpenStruct เมื่อเปรียบเทียบกับโครงสร้างคืออะไร กรณีการใช้งานทั่วไปประเภทใดที่เหมาะสมกับแต่ละกรณี
184 ruby  struct 

5
วิธีที่ถูกต้องในการแทนที่เมธอด setter ใน Ruby on Rails คืออะไร?
ฉันใช้ Ruby on Rails 3.2.2 และฉันต้องการทราบว่าต่อไปนี้เป็นวิธี "ถูกต้อง" / "ถูกต้อง" / "แน่ใจ" เพื่อแทนที่เมธอด setter สำหรับแอตทริบิวต์ class ของฉัน attr_accessible :attribute_name def attribute_name=(value) ... # Some custom operation. self[:attribute_name] = value end รหัสข้างต้นดูเหมือนว่าจะทำงานตามที่คาดไว้ แต่ผมอยากจะทราบว่าโดยการใช้รหัสดังกล่าวในอนาคตผมจะมีปัญหาหรืออย่างน้อยสิ่งที่เป็นปัญหา "ผมควรคาดหวัง" / "ที่อาจเกิดขึ้น" กับ Ruby on Rails หากนั่นไม่ใช่วิธีที่ถูกต้องในการแทนที่เมธอด setter วิธีที่ถูกต้องคืออะไร หมายเหตุ : ถ้าฉันใช้รหัส attr_accessible :attribute_name def attribute_name=(value) ... # …

16
เกิดข้อผิดพลาดในการติดตั้ง libv8: ข้อผิดพลาด: ไม่สามารถสร้างส่วนขยายดั้งเดิมของ gem
ฉันทำโครงการรางด้วย rails new test_bootstrap. ที่ประสบความสำเร็จ. ย้ายไปยังโปรเจ็กต์ dir และเพิ่มพลอย gem "therubyracer" gem "less-rails" #Sprockets (what Rails 3.1 uses for its asset pipeline) supports LESS gem "twitter-bootstrap-rails" และเรียกใช้ bundle install หลังจากนั้นฉันมีข้อผิดพลาดนี้ Installing libv8 (3.16.14.3) Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. c:/RailsInstaller/Ruby1.9.3/bin/ruby.exe extconf.rb creating Makefile 지정된 경로를 찾을 수 없습니다. 지정된 …

14
ไม่สามารถติดตั้งอัญมณีบน OS X“ El Capitan”
ฉันไม่สามารถติดตั้งและรันfakes3gem บน El Capitan Beta 5 ได้ ฉันเหนื่อย: sudo gem install fakes3 ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/fakes3 จากนั้นฉันก็ลองทำตามวิธี cocoapods มันใช้งานได้กับ cocoapods แต่ไม่ใช่สำหรับ fakes3 mkdir -p $HOME/Software/ruby export GEM_HOME=$HOME/Software/ruby gem install cocoapods [...] 1 gem installed gem install fakes3 ERROR: While executing gem ... (Gem::FilePermissionError) …
182 ruby  macos  rubygems 

9
วิธีมาตรฐานของการตัดแต่งสตริงใน Ruby โดยไม่สร้างสตริงใหม่คืออะไร
นี่คือสิ่งที่ฉันมีตอนนี้ - ซึ่งดูละเอียดเกินไปสำหรับงานที่กำลังทำอยู่ @title = tokens[Title].strip! || tokens[Title] if !tokens[Title].nil? สมมติว่าโทเค็นเป็นอาร์เรย์ที่ได้รับจากการแยกบรรทัด CSV ตอนนี้ฟังก์ชั่นเช่นแถบ! chomp! et ส่งคืนศูนย์ทั้งหมดหากสตริงไม่ได้ถูกแก้ไข "abc".strip! # => nil " abc ".strip! # => "abc" อะไรคือวิธีทับทิมที่จะพูดเล็มถ้ามันมีช่องว่างนำหน้าหรือต่อท้ายโดยไม่ต้องสร้างสำเนา? รับค่าผิดปกติถ้าฉันต้องการทำ tokens[Title].chomp!.strip!
182 ruby  string 

7
ทำความเข้าใจกับไฟล์ Gemfile.lock
หลังจากเรียกใช้bundle installคำสั่ง'Gemfile.lock ' จะถูกสร้างขึ้นในไดเรกทอรีการทำงาน คำสั่งภายในไฟล์นั้นหมายถึงอะไร? ตัวอย่างเช่นลองใช้ไฟล์ต่อไปนี้: PATH remote: . specs: gem_one (0.0.1) GEM remote: http://example.org/ specs: gem_two (0.0.2) gem_three (0.0.3) gem_four (0.0.4) PLATFORMS platform DEPENDENCIES gem_two gem_one! ' PATH ', ' GEM ', ' PLATFORMS ' และ ' DEPENDENCIES ' หมายถึงอะไร? จำเป็นต้องใช้ทั้งหมดหรือไม่ สิ่งที่ควรมีไดเรกทอรีย่อย' remote ' และ ' spec ' เครื่องหมายอัศเจรีย์หลังชื่ออัญมณีในกลุ่ม …

10
ฉันสามารถเรียกใช้วิธีการแบบอินสแตนซ์บนโมดูล Ruby โดยไม่รวมมันได้หรือไม่
พื้นหลัง: ฉันมีโมดูลที่ประกาศจำนวนวิธีการอินสแตนซ์ module UsefulThings def get_file; ... def delete_file; ... def format_text(x); ... end และฉันต้องการเรียกวิธีการเหล่านี้บางอย่างจากภายในชั้นเรียน ปกติคุณทำเช่นนี้ในทับทิมเป็นเช่นนี้: class UsefulWorker include UsefulThings def do_work format_text("abc") ... end end ปัญหา include UsefulThingsนำในทุกUsefulThingsวิธีการจาก ในกรณีนี้ผมเพียงต้องการformat_textและชัดเจนไม่ต้องการและget_filedelete_file ฉันสามารถดูวิธีแก้ปัญหาที่เป็นไปได้หลายประการดังนี้: อย่างใดเรียกวิธีการโดยตรงในโมดูลโดยไม่รวมที่ใดก็ได้ ฉันไม่ทราบว่าสามารถทำได้หรือไม่ (ดังนั้นคำถามนี้) อย่างใดรวมถึงUsefulthingsและนำวิธีการบางอย่างเท่านั้น ฉันก็ไม่รู้เหมือนกันว่าจะทำสิ่งนี้ได้อย่างไร สร้างคลาสพร็อกซีรวมUsefulThingsไว้ในนั้นจากนั้นมอบสิทธิ์format_textให้อินสแตนซ์ของพร็อกซีนั้น สิ่งนี้จะได้ผล แต่คลาสพร็อกซีที่ไม่ระบุชื่อเป็นแฮ็ก yuck แบ่งโมดูลออกเป็น 2 โมดูลหรือเล็กกว่า สิ่งนี้จะได้ผลและอาจเป็นทางออกที่ดีที่สุดที่ฉันสามารถนึกได้ แต่ฉันต้องการหลีกเลี่ยงเพราะฉันต้องจบด้วยโมดูลที่เพิ่มจำนวนมากขึ้นเรื่อย ๆ - การจัดการสิ่งนี้จะเป็นภาระ ทำไมมีฟังก์ชั่นที่ไม่เกี่ยวข้องจำนวนมากในโมดูลเดียว? มันApplicationHelperมาจากแอพพลิเคชั่นรางซึ่งทีมงานของเราได้ตัดสินใจยกเลิกการทุ่มตลาดสำหรับสิ่งที่ไม่เฉพาะเจาะจงมากพอที่จะอยู่ที่อื่น …
181 ruby  module  methods 

14
วิธีทดสอบว่ามีพารามิเตอร์อยู่ในรางหรือไม่
ฉันใช้คำสั่ง IF ใน Ruby on Rails เพื่อลองและทดสอบว่ามีการตั้งค่าพารามิเตอร์คำขอหรือไม่ ไม่ว่าจะมีการตั้งค่าพารามิเตอร์ทั้งสองหรือไม่ส่วนแรกของสิ่งต่อไปนี้ถ้าบล็อกถูกเรียกใช้ ฉันจะทำให้ส่วนนี้ได้รับการทริกเกอร์เฉพาะเมื่อทั้ง params [: หนึ่ง] และ params [: two] ถูกตั้งค่าอย่างไร if (defined? params[:one]) && (defined? params[:two]) ... do something ... elsif (defined? params[:one]) ... do something ... end

6
ตัวแปรอินสแตนซ์: self vs @
นี่คือรหัสบางส่วน: class Person def initialize(age) @age = age end def age @age end def age_difference_with(other_person) (self.age - other_person.age).abs end protected :age end สิ่งที่ฉันต้องการที่จะทราบความแตกต่างระหว่างการใช้@ageและself.ageในage_difference_withวิธีการ

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