Questions tagged «ruby»

Ruby是由松本行弘(Matz)于1995年创建的一种多平台开放源代码,动态的,面向对象的解释性语言。[ruby]标记用于与Ruby语言有关的问题,包括其语法和库。Ruby on Rails问题应标记为[ruby-on-rails]。


14
AWS S3:您尝试访问的存储桶必须使用指定的终结点进行寻址
我正在尝试使用AWS-SDK-Core Ruby Gem删除上传的图像文件。 我有以下代码: 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
在Ruby中将数组输出为CSV
使用Ruby将CSV文件读入数组很容易,但是我找不到关于如何将数组写到CSV文件的任何好的文档。谁能告诉我该怎么做? 如果这很重要,我正在使用Ruby 1.9.2。
185 ruby  csv 

8
通过多个文件将Sinatra用于较大的项目
似乎在Sinatra中,所有路由处理程序都被写入一个文件中,如果我理解正确的话,它可以充当一个大/小控制器。有没有办法将其拆分为单独的独立文件,所以当有人说“ /”-执行一个动作,并且如果收到“ / posts / 2”之类的东西,则执行另一个动作-在PHP中应用类似的逻辑?
184 ruby  sinatra 

14
人们为什么说Ruby很慢?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 改善这个问题 我喜欢Ruby on Rails,并将其用于我的所有Web开发项目。几年前有很多关于Rails是内存猪的讨论,以及它如何不能很好地扩展,但是这些建议由Gregg Pollack 在这里提出。 不过最近,我一直在听到人们说Ruby本身很慢。 为什么Ruby会变慢? 我发现Ruby并不慢,但话又说回来,我只是用它来制作简单的CRUD应用和公司博客。在我发现Ruby变慢之前,我需要做什么样的项目?还是这种缓慢会影响所有编程语言? 如果您想应对这种“缓慢”,作为Ruby程序员,您有哪些选择? 哪个版本的Ruby最适合速度快,流量大的Stack Overflow等应用? 这些问题是主观的,我意识到架构设置(EC2与独立服务器等)有很大的不同,但是我想听听人们对Ruby的看法。 最后,我在Ruby 2.0上找不到太多新闻-我认为距那时还差很多年?
184 ruby  performance 


5
在Ruby on Rails中重写setter方法的正确方法是什么?
我正在使用Ruby on Rails 3.2.2,并且我想知道以下内容是否是“正确” /“正确” /“确定”方式来覆盖我的class属性的setter方法。 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) ... # Some custom operation. self.attribute_name = value end 我收到以下错误: SystemStackError (stack level too deep): actionpack (3.2.2) lib/action_dispatch/middleware/reloader.rb:70

16
安装libv8时出错:错误:无法构建gem本机扩展
我做了一个Rails项目, rails new test_bootstrap. 成功了。 移动到项目目录并添加了宝石 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”上安装gems
我无法fakes3在El Capitan Beta 5上安装和运行gem。 我试过了: sudo gem install fakes3 ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/fakes3 然后我尝试用cocoapods的方式来做。它适用于可可足类,但不适用于假品3。 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) You don't have write permissions for the /Library/Ruby/Gems/2.0.0 …
182 ruby  macos  rubygems 

9
在Ruby中修剪字符串而不创建新字符串的规范方法是什么?
这就是我现在所拥有的-对于正在执行的工作,它看起来太冗长。 @title = tokens[Title].strip! || tokens[Title] if !tokens[Title].nil? 假设令牌是通过拆分CSV行获得的数组。现在功能像条!mp!等。如果未修改字符串,则全部返回nil "abc".strip! # => nil " abc ".strip! # => "abc" 如果Ruby包含多余的前导或尾随空格而不创建副本,那么用Ruby修剪的方式是什么? 如果我想做的话会变得更丑 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 ”描述了什么?全部都需要吗? 什么应包含“ 远程 ”和“ 规格 ”子指令? “ DEPENDENCIES ”组中宝石名称后面的感叹号是什么意思?

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_file和delete_file。 我可以看到几种可能的解决方案: 以某种方式直接在模块上调用该方法,而无需在任何地方包含它 我不知道如何/是否可以这样做。(因此出现此问题) 不知何故包括 Usefulthings并且仅引入其中的某些方法 我也不知道该如何/是否可以做到 创建一个代理类,包括UsefulThings其中,然后委托format_text给该代理实例 这会起作用,但是匿名代理类是一个hack。uck 将模块分成2个或更多个较小的模块 这也将起作用,并且可能是我能想到的最好的解决方案,但是我宁愿避免使用它,因为最终会产生数十个模块,因此管理起来很麻烦 为什么在一个模块中有很多不相关的功能?它ApplicationHelper来自一个Rails应用程序,我们的团队事实上已将其确定为所有不够具体的东西的垃圾场。大多数情况下,独立实用程序方法随处可见。我可以将其分解为单独的帮手,但其中有30个,每个都只有一种方法...这似乎毫无用处
180 ruby  module  methods 

14
如何测试Rails中是否存在参数
我在Ruby on Rails中使用IF语句来尝试测试是否设置了请求参数。无论是否同时设置了两个参数,如果触发了块,则下面的第一部分。如果同时设置了params [:one]和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 我想知道的是in @age和self.agein age_difference_with方法之间的区别。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.