在Ruby中比较包含字符串字符串的两个数组

如果我的代码关闭,请原谅我。 我仍然掌握在Ruby on Rails中,这似乎有微妙的差异,因为我学到更多“只是Ruby”,尽管公平地说我不确定我的代码是否会以Ruby on Rails格式通过。 我离题了。 我试图比较两个包含一组字符串的数组。 我想做几件事。 1)确保数组的单词数相同,否则练习没有实际意义。 2)将数组中的第一个字与第二个数组中的第一个字进行比较。 换句话说,我从不想比较数组“a”中的单词1和数组“b”中的单词4。 我正在努力找到一个解决方案,重新排序任何给定单词中的字符,将其与第二个数组中相应单词中的重新排序字符进行比较,如果它是一个字谜,则打印1(一旦排序,这个想法就是两个单词如果它们不匹配,则为0或0。 在下面的示例中,我想要打印的是: 0 0 1 1 ……但事情并没有发生。 思考? 我担心这与局部变量问题有关,但我不确定。 a = [‘hello’, ‘goodbye’, ‘pants’, ‘baa’] b = [‘helio’, ‘godbye’, ‘spant’, ‘aba’] x = a.length y = b.length z = 0 x = y? do while z < x do if a.find(z).chars.sort.join == b.find(z).chars.sort.join […]

FactoryGirl:工厂未注册:user(ArgumentError)

使用FactoryGirl以正确的顺序获取所有鸭子很麻烦。 设置一个简约的rails应用程序(3.0.11),factory_girl_rails(1.4.0),factory_girl(2.3.2)和cucumber-rails(1.2.1)以及ruby-1.8.7-p352。 黄瓜测试是: Feature: a Scenario: test factory-girl Given the following user exists: | name | email | | Brandon | brandon@example.com | 结果如下: cucumber Using the default profile… “Adam Advertiser” “a@b.com” # Feature: a Scenario: test factory-girl # features/users.feature:2 Given the following user exists: # factory_girl-2.3.2/lib/factory_girl/step_definitions.rb:100 | name | email | | Brandon | […]

Ruby on Rails错误:“未定义的方法`call”表示“result == false”:字符串“create method中的错误

当我尝试使用图像在我的应用中创建列表时,会抛出此错误: undefined method `call’ for “result == false”:String. 我安装了devise gem之后发生了错误。 但设计不应该与创建新的列表有任何关系? 该应用程序的其他部分工作正常,我可以创建没有图像的新列表。 错误信息 NoMethodError in ArtistsController#create undefined method `call’ for “result == false”:String 它指向的方法是在第164行的ActiveSupport中的回调方法 https://sourcegraph.com/github.com/rails/rails@master/.rubygem/activesupport/.def/ActiveSupport/Callbacks/$methods/halted_callback_hook 任何人都有任何想法可能是什么问题? 我对此很新,所以如果您需要我提供更多信息或者我需要重新解释我的问题,请告诉我。 的Gemfile source ‘https://rubygems.org’ ruby “2.0.0” gem ‘rails’, ‘4.2.0.beta2’ gem ‘uglifier’, ‘>= 1.3.0’ gem ‘coffee-rails’, ‘~> 4.0.0’ gem ‘jquery-rails’ gem ‘turbolinks’ gem ‘jbuilder’, ‘~> 1.2’ gem ‘bootstrap-sass’, ‘~> 3.3.0’ […]

尽管在该文件中定义了Rails,但无法从文件中自动加载常量

这是一个难以解释的问题。 我在另一个模块名称空间中有一个模块,如下所示 # app/models/points/calculator.rb module Points module Calculator def self.included(base) base.send(:include, CommonMethods) base.send(:include, “Points::Calculator::#{base}Methods”.constantize) end end end 那么在其他课程中,我需要做的就是: class User include Points::Calculator end 我已经在application.rb中指定了这个目录可以自动加载…(尽管我认为rails通过模型进行递归…) config.autoload_paths += Dir[ Rails.root.join(‘app’, ‘models’, “points”) ] 在开发环境中,一切正常。 运行测试(和生产环境)时,我收到以下错误: Unable to autoload constant Points::Calculator, expected /Users/pete/work/recognize/app/models/points/calculator.rb to define it (LoadError) 我实际上遵循了这里的建议来解决问题:通过在application.rb中明确要求calculator.rb, 阻止Rails在开发模式下卸载模块 。 但是,为什么会发生这种情况? 我在ActiveSupport的dependencies.rb文件中粘贴了一些调试输出,并注意到该文件需要两次。 第一次需要我可以看到常量确实已加载。 但是第二次它需要的常量已被卸载,就Rails所知,但是当调用实际的require时,ruby返回false,因为ruby知道它已经需要它。 然后Rails抛出“无法自动加载常量”错误,因为常量仍然不存在,并且ruby没有“重新要求”该文件。 任何人都可以阐明为什么会发生这种情况?

Git:在推送到本地或远程主服务器之前强制执行测试

如果测试(rspec)失败,有没有办法让git拒绝提交本地或推送到远程主设备? 谢谢。

`open_http’:403 Forbidden(OpenURI :: HTTPError)用于字符串“Steve_Jobs”但不包含任何其他字符串

我正在浏览http://ruby.bastardsbook.com/上提供的Ruby教程,我遇到了以下代码: require “open-uri” remote_base_url = “http://en.wikipedia.org/wiki” r1 = “Steve_Wozniak” r2 = “Steve_Jobs” f1 = “my_copy_of-” + r1 + “.html” f2 = “my_copy_of-” + r2 + “.html” # read the first url remote_full_url = remote_base_url + “/” + r1 rpage = open(remote_full_url).read # write the first file to disk file = open(f1, “w”) file.write(rpage) file.close # […]

未初始化的常量(NameError)问题 – 如何包含类?

这是我的目录结构: /features/ninja.feature /features/step_definitions/ninja_steps.rb /src/ninja.rb 当我跑 cucumber 在我的项目的根目录中,我得到一个uninitialized string constant Ninja (NameError)错误。 我已经确定它是由我的ninja_steps.rb文件中的这一行引起的: @ninja = Ninja.new :belt_level => belt_level 在我的ninja.rb文件中: class Ninja def initialize (belt_level) end end 我是否require在我的ninja_steps.rb文件的顶部添加某种require ,或者什么? 我似乎无法弄清楚如何做到这一点,以便它不会爆炸。

使用Cucumber – Selenium Ruby测试报告输出

我希望从我的Cucumber测试中获得报告输出。 到目前为止,我可以提出以下内容: cucumber features/feature_name.feature -f json -o C:/Reports 这只会在测试结束时产生一个json报告,你无法像黄瓜一样发现它们的结果。 我是否可以同时执行这两项操作,以便在cmd中看到绿色/红色步骤并在结束时获取json报告? 谢谢

Rails 3使用NOT NULL在.where条件之后排序

我有一个显示最快用户的排名: @users = User.find.sort { |a, b| b.finished_at a.created_at } 现在我要添加一些代码以防止因为finished_at beeing nil而导致错误,直到用户完成。 @users = User.find(:all, :conditions => “finished_at IS NOT NULL”).sort { |a, b| b.finished_at a.created_at } 但sort不起作用。 这种链接方法有缺陷吗? 并且find(:all, :conditions => “finished_at IS NOT NULL”) rails 3路还是过时的? 提前致谢

使用gmaps4rails向标记添加事件侦听器

我正在开发一个使用gmaps4rails的应用程序(https://github.com/apneadiving/Google-Maps-for-Rails)。 我想为标记添加一个事件监听器,以便在地图旁边创建一个可视化(以及在地图上显示信息窗口)。 是否可以使用gmaps4rails为每个标记添加事件监听器?