草庐IT

get_or_create

全部标签

ruby-on-rails - 工厂女郎 + RSpec : undefined method 'create' when create(:user)

不能调用“dummy=create(:user)”来创建用户。来回走了好几个小时。/home/parreirat/backend-clone/Passworks/spec/models/user_spec.rb:15:in`block(2levels)in':undefinedmethod`create'for#(NoMethodError)"这是工厂,users.rb:FactoryGirl.definedofactory:userdoemail'heheheheheheh@gmail.com'password'chucknorris'name'luismendes'endend这就

ruby - Rake 不知道如何构建任务 : default or minitest

我不久前构建了一个gem,但没有包含任何测试(我感到羞耻)。从那以后,我一直试图通过包括minitest来解决这个问题,但是我因为以下错误而被困在门外:Don'tknowhowtobuildtask'default'这是我的Rakefilerequire'rake/testtask'Rake::TestTask.newdo|t|t.test_files=FileList['test/*_test.rb']end和test/unit_test.rb中的虚拟文件require'minitest/autorun'classTestPackage如果我更改Rakefile以包含task:def

ruby-on-rails - 如何检查是否存在值不为 "undefined local variable or method"的变量?

这是一个常见的模式:如果变量不存在,我会得到一个未定义的局部变量或方法错误。现有代码有ifvariable_name.present?但这并没有说明变量不存在。我如何检查变量的值并说明它根本不存在?我试过:if(defined?mmm)thenifmmm.present?thenputs"true"endend但Ruby仍然检查内部mmm.present?并在它不存在时抛出“nosuchvariable”。我确信对此有一个共同的模式/解决方案。 最佳答案 将present?更改为!=''并使用&&运算符,它仅在第一个表达式为真时才尝

ruby - 如何使用修改后的 header 制作 HTTP GET?

使用修改后的header在Ruby中发出HTTPGET请求的最佳方式是什么?我想从日志文件的末尾获取一系列字节,并一直在玩弄以下代码,但服务器返回一个响应说“这是服务器无法理解的请求”(服务器是Apache)。require'net/http'require'uri'#with@address,@port,@pathalldefinedelsewherehttpcall=Net::HTTP.new(@address,@port)headers={'Range'=>'bytes=1000-'}resp,data=httpcall.get2(@path,headers)有没有更好的方法在R

ruby-on-rails - 没有路由匹配 { :controller= >"stocks", :action= >"create"} RSpec Rails 3

我不明白为什么我在运行RSpec时收到此错误消息:Failure/Error:post:createActionController::RoutingError:Noroutematches{:controller=>"stocks",:action=>"create"}controllerstocks存在,actioncreate存在,它应该使用的路由是这样的:match'stocks/:user_id'=>'stocks#create',:via=>:post,:as=>:query路由文件:FruthScreener::Application.routes.drawdoroot:

ruby - 为什么 rubocop 或 ruby​​ 风格指南不喜欢使用 get_ 或 set_?

我在我的项目上运行rubocop并修复它提出的投诉。一个特别的提示困扰着我Donotprefixreadermethodnameswithget_我无法从这个投诉中了解太多,所以我查看了sourcecodeingithub.我找到了这个片段defbad_reader_name?(method_name,args)method_name.start_with?('get_')&&args.to_a.empty?enddefbad_writer_name?(method_name,args)method_name.start_with?('set_')&&args.to_a.one?end

ruby-on-rails - rails : creating a custom data type/creating a shorthand

我想知道如何创建自定义数据类型以在rake迁移文件中使用。示例:如果您要创建模型,则可以在迁移文件中添加列。它可能看起来像这样:defself.upcreate_table:productsdo|t|t.column:name,:stringt.timestampsendend我想知道如何创建这样的东西:t.column:name,:my_custom_data_type之所以这样创建,例如一个“货币”类型,无非是一个精度为8,小数位数为2的小数。由于我只使用MySQL,所以这个数据库的解决方案已经足够了。感谢您的反馈和意见! 最佳答案

ruby-on-rails - Ruby On Rails 应用程序中的重复任务 : Cron or other?

我目前正在编写一个从RSS源中提取新信息的应用程序,并且必须以一定的频率更新这些RSS源。目前我只在用户请求提要时拉取,但我想将该行为更改为自动定期获取。我正在编写一个与数据库交互并通过cron定期启动的shellscript-但这是很多双重努力,所以我想知道执行此操作的“RailsWay”或“RubyWay”是什么。我正在使用Ubuntu、Apache和Passenger。您能否建议甚至可能包含在应用程序中的更好的方法,这样我就可以轻松地将应用程序部署到另一台机器上,而不必与cron混在一起? 最佳答案 我建议做一些类似rake任

ruby-on-rails - Zeus + FactoryGirl::语法::方法。未定义的方法 `create'

我有:RSpec.configuredo|config|config.includeFactoryGirl::Syntax::Methodsend它可以与简单的rspecspec/model/user_spec.rb一起正常工作(允许我使用create(:user),而不是FactoryGirl.create(:用户))。但是如果我使用zeusrspecspec/model/user_spec.rb来加速我的规范,它会给我一个错误:Failure/Error:@user=create(:user)NoMethodError:undefinedmethod`create'for#如何将此

sql - 使用 SQL IN 和 SQL OR 运算符的 Rails 3 ActiveRecord 查询

我正在使用“where”语法编写一个Rails3ActiveRecord查询,它同时使用了SQLIN和SQLOR运算符,但不知道如何同时使用它们。此代码有效(在我的用户模型中):Question.where(:user_id=>self.friends.ids)#note:self.friends.idsreturnsanarrayofintegers但是这段代码Question.where(:user_id=>self.friends.idsOR:target=>self.friends.usernames)返回这个错误syntaxerror,unexpectedtCONSTANT,