Questions tagged «ruby»

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


6
PG ::错误:错误:新编码(UTF8)不兼容
我已经postgresql-9.2.4从源代码安装,现在在执行时在Rails应用程序中安装: rake db:create 我得到的命令: $ bin/rake db:create RAILS_ENV="test" PG::Error: ERROR: new encoding (UTF8) is incompatible with the encoding of the template database (SQL_ASCII) HINT: Use the same encoding as in the template database, or use template0 as template. : CREATE DATABASE "verticals_test" ENCODING = 'unicode' /home/vagrant/my-project/.gems/ruby/1.9.1/gems/activerecord-3.2.12/lib/active_record/connection_adapters/postgresql_adapter.rb:652:in `exec .... bin/rake:16:in `load' …

2
在Ruby中捕获异常后重新引发(相同异常)
我试图通过捕获异常来提高我的Ruby技能。我想知道当您有多个方法调用时,引发相同类型的异常是否很常见。那么,以下代码有意义吗?是否可以引发相同类型的异常,还是不应该在处理方法上捕获它? class Logo def process begin @processed_logo = LogoProcessor::create_image(self.src) rescue CustomException raise CustomException end end end module LogoProcessor def self.create_image raise CustomException if some_condition end end
84 ruby  exception 

11
尝试使用mysql2 gem安装应用程序时出错
我正在尝试安装使用mysql2gem的开源Rails 3.2.21应用程序,但是当我尝试运行bundle命令时,出现以下错误: Fetching: mysql2-0.3.18.gem (100%) Building native extensions. This could take a while... p ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. /Users/my_username/.rvm/rubies/ruby-2.1.2/bin/ruby -r ./siteconf20150614-72129-orqsb7.rb extconf.rb checking for ruby/thread.h... yes checking for rb_thread_call_without_gvl() in ruby/thread.h... yes checking for rb_thread_blocking_region()... yes checking for rb_wait_for_single_fd()... yes checking for rb_hash_dup()... …



3
如何在Rails / RSpec中测试异常引发?
有以下代码: def index @car_types = car_brand.car_types end def car_brand CarBrand.find(params[:car_brand_id]) rescue ActiveRecord::RecordNotFound raise Errors::CarBrandNotFound.new end 我想通过RSpec对其进行测试。我的代码是: it 'raises CarBrandNotFound exception' do get :index, car_brand_id: 0 expect(response).to raise_error(Errors::CarBrandNotFound) end ID等于0的CarBrand不存在,因此我的控制器代码引发了Errors :: CarBrandNotFound,但是我的测试代码告诉我什么都没有提出。我该如何解决?我怎么了

5
RoR 4中带有验证的正则表达式
有以下代码: class Product < ActiveRecord::Base validates :title, :description, :image_url, presence: true validates :price, numericality: {greater_than_or_equal_to: 0.01} validates :title, uniqueness: true validates :image_url, allow_blank: true, format: { with: %r{\.(gif|jpg|png)$}i, message: 'URL must point to GIT/JPG/PNG pictures' } end 它可以工作,但是当我尝试使用“ rake test”对其进行测试时,我会捕获以下消息: rake aborted! The provided regular expression is using multiline anchors …

3
当本征类看起来如此相似时,为什么本征类不等同于self.class?
我在某处错过了备忘录,希望您能向我解释。 为什么对象的本征分类不同于self.class? class Foo def initialize(symbol) eigenclass = class << self self end eigenclass.class_eval do attr_accessor symbol end end end 我将本征类等同于的逻辑class.self很简单: class << self是一种声明类方法而不是实例方法的方法。这是的快捷方式def Foo.bar。 因此,在对类对象的引用内,返回self应与相同self.class。这是因为class << self将设置self为Foo.class用于定义类方法/属性。 我只是感到困惑吗?还是,这是Ruby元编程的一个trick俩?

4
如何获得在Ruby中使用提示的命令名称?
不久前,我写了一个我很喜欢的漂亮的Ruby小脚本。我想通过检查适当数量的参数来提高其健壮性: if ARGV.length != 2 then puts "Usage: <command> arg1 arg2" end 当然那是伪代码。无论如何,在C或C ++中,我可以使用它argv[0]来获取用户用来获取我的命令的名称,无论他们将其称为like./myScript.rb还是myScript.rbor /usr/local/bin/myScript.rb。在Ruby中,我知道这ARGV[0]是第一个true参数,并且ARGV不包含命令名称。有什么办法可以让我得到这个吗?

5
Rails会议的当前做法
是否有人对Rails和会话有“最佳实践”技巧?Rails 3的默认会话类型仍然是CookieStore,对吗?我使用SqlSessionStore已有一段时间,并且效果很好,但是我可能会改用CookieStore来代替它。 使用CookieStore获取敏感信息(即使是含盐信息)还是不是一个好主意,还是更好地存储在数据库中?

14
Mongoid还是MongoMapper?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 改善这个问题 我已经尝试过MongoMapper,它功能完整(几乎提供了所有AR功能),但是使用大型数据集时,我对性能并不满意。有谁与Mongoid相提并论吗?任何性能提升?

14
为什么我不能使用RVM在Lion上安装Rails?
我在尝试使用RVM在OS X Lion上安装Rails时遇到问题。 到目前为止,我已经执行了以下操作: 已安装Mac OS X Lion版本10.7(内部版本11A459e)。 已安装XCode 4.1 Developer Preview 5。 已安装RVM。 使用命令通过RVM安装了1.8.7版本的Ruby rvm install 1.8.7。注意:我需要使用1.8.7而不是1.9.2。 使用命令切换到1.8.7版本的Ruby rvm 1.8.7。 使用命令创建了一个新的gemset rvm gemset create rails3。 使用命令切换到新的gemset rvm use 1.8.7@rails3。 要安装Rails,我运行了命令,gem install rails但是出现以下错误: /Users/m/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/timeout.rb:60:[BUG]分段错误 尝试运行任何gem命令时也会发生相同的错误,因此我认为Rails并不是真正的问题。 从下面的链接来看,我似乎并不是唯一遇到此问题的人: http://twitter.com/#!/pingles/status/66261101351927809 和https://github.com/carlhuda/bundler/issues/1058

5
Rails / lib模块和
我正在为open_flash_chart插件编写自定义包装。它已放入其中,/lib并作为模块加载到中ApplicationController。 但是,我有一些类层次结构或smth问题。 我可以从任何控制器访问的open_flash_chart功能OpenFlashChart,Line等等 但是,在/lib模块的类中,它不起作用! 有任何想法吗?


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.