草庐IT

is_undefined

全部标签

ruby-on-rails - Rails 4 + Rspec + 设计 : undefined method 'env' in controller specs for sign_in a user

在我的spec_helper.rb中我添加了config.includeDevise::TestHelpers,:type=>:controller在:allhook之前的Controller规范中,我正在尝试使用此代码登录用户@request.env["devise.mapping"]=Devise.mappings[:user]user=FactoryGirl.create(:confirmed_user)sign_inuser并得到NoMethodError:undefinedmethod`env'fornil:NilClass。有什么想法吗? 最佳答

ruby-on-rails - OmniAuth Railscast 教程中的 DangerousAttributeError : create is defined by ActiveRecord

我看过ActiveRecord::DangerousAttributeError和SO上的其他类似线程,但它们没有解决相同的问题。我正在学习omniauth教程:http://railscasts.com/episodes/235-omniauth-part-1?view=asciicast我能够通过Twitter的oauth进行身份验证并返回用户的数据(auth)。问题是由于此错误消息,我无法在数据库(sqlite3)中创建/保存它。错误:ActiveRecord::DangerousAttributeErrorinAuthenticationsController#createcr

ruby-on-rails - 为什么我得到 "including Capybara::DSL in the global scope is not recommended!"

每次我运行规范,即使规范通过,例如$rspecspec/integration/view_homepage_spec.rbincludingCapybara::DSLintheglobalscopeisnotrecommended!.Finishedin0.6174seconds1example,0failuresRandomizedwithseed14130$我的Gemfile有:group:test,:developmentdogem'rspec-rails'gem'capybara'end我的spec_helper有:ENV["RAILS_ENV"]||='test'requir

Ruby 哈希错误 : undefined method [] when attempting to set deeply nested keys

我有一段代码是这样的:my_hash={}first_key=1second_key=2third_key=3my_hash[first_key][second_key][third_key]=100ruby解释器给了我一个错误:undefinedmethod`[]'fornil:NilClass(NoMethodError)那么这是否意味着我不能那样使用哈希?还是您认为此错误可能是其他原因造成的? 最佳答案 哈希默认不嵌套。由于my_hash[first_key]未设置任何值,因此它是nil。并且nil不是散列,因此尝试访问其中一

ruby - 为什么 'undefined method ` assert_equal' ' is thrown even after requiring ' test/unit'

我打开irb并输入:require'test/unit'但是当我使用assert_equal方法时,出现以下错误:NoMethodError:undefinedmethod'assert_equal'formain:Object。为什么即使在需要“测试/单元”之后也会发生这种情况? 最佳答案 assert_equal是在Test::Unit::TestCase的子类上定义的,因此仅在该类中可用。您可能会成功地使用includeTest::Unit::TestCase将这些方法加载到当前范围。更有可能的是,您最好将测试写在一个短文件中

ruby 新手 : undefined method `with_indifferent_access'

我是一名新的Ruby程序员,我的一位同事帮助我开始编写了以下代码,该代码在他的环境中运行良好。但是,当我尝试在自己的环境中运行它时,出现以下错误:undefinedmethod'with_indifferent_access'for#(没有方法错误)有问题的方法在代码中出现了两次:require'rubygems'gem'activerecord'gem'activesupport'gem'sailthru-client'require'active_support'require'active_record'require'sailthru'#SetupourSailthruobje

ruby-on-rails - rake 数据库 :migrate is being aborted due to rake version difference

这个问题在这里已经有了答案:YouhavealreadyactivatedX,butyourGemfilerequiresY(11个答案)关闭8年前。我遇到了错误rakedb:migrate--tracerakeaborted!Youhavealreadyactivatedrake10.1.1,butyourGemfilerequiresrake10.1.0.Usingbundleexecmaysolvethis./Users/iang/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:

ruby - “运行失败跳转到方法定义”错误 : undefined method `current_line' for TextMate:Module

更新:我想通了。Ctrl-F仅在未选择我正在搜索的方法时有效。游标只需要在方法名中。我刚升级到TextMate2。当我选择一个方法并使用Ctrl+F转到它的定义时,我得到:>FailurerunningJumptoMethodDefinition这是痕迹:/Users/ilikepie/Library/ApplicationSupport/TextMate/Managed/Bundles/RubyonRails.tmbundle/Support/lib/rails/text_mate.rb:54:in`method_missing':undefinedmethod`current_li

ruby-on-rails - rails 引擎 : rake routes show its routes but on rspec execution "No route matches" is thrown

我正在尝试测试我的应用程序正在使用的引擎内部的Controller。规范不在引擎中,而是在应用程序本身中(我试图在引擎中进行测试,但也遇到了问题)。我的引擎有以下routes.rb:Revision::Engine.routes.drawdoresources:steps,only:[]docollection{get:first}endend引擎正常挂载在应用routes.rb上:mountRevision::Engine=>"revision"当我运行rakeroutes时,在最后一行我得到:RoutesforRevision::Engine:first_stepsGET/step

ruby-on-rails - Ruby BigDecimal 圆 : Is this an error?

在用一个表示为BigDecimal的值编写测试时,我遇到了一些奇怪的事情并决定深入研究它。简而言之,四舍五入到小数点后两位的“0.00009”返回为0.01而不是0.00。真的。这是我的脚本/控制台捕获:>>bp=BigDecimal('0.09')=>#>>bp.round(2,BigDecimal::ROUND_HALF_DOWN).to_f=>0.09>>bp=BigDecimal('0.009')=>#>>bp.round(2,BigDecimal::ROUND_HALF_DOWN).to_f=>0.01>>bp=BigDecimal('0.0009')=>#>>bp.roun