草庐IT

php - 在 laravel Eloquent 创建中保存多条记录

全部标签

ruby-on-rails - 如何加快为 rspec 测试创建 5,000 条记录的速度?

我正在使用RubyonRails3.2.2、FactoryGirl3.1.0、FactoryGirlRails3.1.0、Rspec2.9.0和RspecRails2.9.0。为了测试我的应用程序,我必须在数据库中创建大量记录(大约5000条),但是该操作非常慢(创建记录需要10多分钟)。我这样进行:before(:each)do5000.timesdoFactoryGirl.create(:article,)endend如何改进我的规范代码以加快速度?注意:可能速度较慢是由在每个文章创建过程前后运行的(5)个文章回调引起的,但我可以跳过这些(因为我唯一需要测试的是文章和不是关联的模型

ruby - 用 YARD 记录 "splatted"参数的最佳方法?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我有一个方法应该接受任何类的1+个参数,类似于Array#push:defmy_push(*objects)raiseArgumentError,'Needs1+arguments'ifobjects.empty?objects.eachdo|obj|puts"Anobjectwaspushed:#{obj.inspect}"@my_array.pushobjendend使用YARD语法记

ruby - 如何将 ruby​​ 记录器格式化为此?

ruby记录器的默认样式是:SeverityID,[DateTimemSec#pid]SeverityLabel--ProgName:message#=>D,[2013-11-25T13:31:03.451024#38180]DEBUG--:我想让它看起来像:SeverityLabel[DateTimemSec#pid]:message#=>DEBUG[2013-11-25T13:31:03.451024#38180]:我知道我可以这样格式化它:logger.formatter=procdo|severity,datetime,progname,msg|"severity[#{date

ruby - 如何使用 Ruby 和 MongoId 正确保存时区?

如果这有点菜鸟问题,请原谅:我有一个应用程序,用户可以在其中设置自己的个人资料中的时区。当有人添加阵容(应用特定术语)时,我执行以下操作:time=ActiveSupport::TimeZone.new(user.timezone).parse("Wednesday,26October,201113:30:00")#Thisoutputs:2011-10-2613:30:00+0200-validaccordingtotheuserselectedTZ然后我保存阵容:Lineup.create({:date=>time.gmtime,:uid=>user._id,:pid=>produ

ruby-on-rails - 如何记录某个 url 的整个请求( header 、正文等)?

我需要将所有请求(包括HTTPheader、正文等)记录到某个url。我试过这段代码:defindexglobal_request_loggingendprivatedefglobal_request_logginghttp_request_header_keys=request.headers.keys.select{|header_name|header_name.match("^HTTP.*")}http_request_headers=request.headers.select{|header_name,header_value|http_request_header_key

ruby-on-rails - 在使用 Rails 保存之前将字符串转换为日期

Ruby的新手,我已经被困了几个小时。到处搜索,找不到答案。所以我正在使用railsgem的bootstrapdatepicker。因为我更改了日期选择器的日期格式,所以它不会存储在数据库中。猜测这是因为simple_form输入被用作字符串以避免simple_form应用的默认日期选择输入。我的问题是:如何在将“06/18/2013”​​之类的字符串保存到数据库之前将其修改/转换为日期?这最好由Controller处理吗?我的Controller:#PUT/events/1#PUT/events/1.jsondefupdate@event=Event.find(params[:id]

ruby-on-rails - 使用 seed.rb 文件创建记录时出现 CarrierWave::FormNotMultipart 错误

我有一个包含image列的模型。我正在使用CarrierWave上传图片(我正在关注此railscast以执行此操作。现在,我想使用seed.rb文件创建一些默认记录,但我未能为图像提供正确的parh/url。因此,我在列表项app/public/images/文件夹中有图像,这是seed.rb文件中的代码:gems={test1:{name:'test1',description:'test1',image:'/public/images/test1.png',},test2:{name:'test2',description:'test2',image:'/public/image

ruby - Time.advance 记录在哪里?

在网络上四处寻找,我发现RubyTime类有Time#advance。这在哪里记录?我在RubyAPI文档中没有看到它的提及here.API文档的搜索功能表明在任何地方都没有名为“advance”的方法。尽管如此,在IRB中......>>t=Time.now=>ThuMar0516:08:57-08002009>>t.advance:months=>1=>SunApr0516:08:57-07002009另一件让我感到困惑的事情......在时间类的文档中,它说的第一件事是“实现time.rb库文档中描述的时间类的扩展。”他们的意思是“time.rb库实现了对这个类的扩展吗?”我想也

ruby - 如何将 Ruby Sequel 日志记录设置为 DEBUG 级别?

默认的RubySequel行为是在INFO级别记录所有数据库查询(不同于在DEBUG级别记录的ActiveRecord)。我该如何更改? 最佳答案 以前,使用代理记录器对象相当简单,但是有足够多的人要求我实现它。使用Sequel的gitmaster分支,您现在可以:DB.sql_log_level=:debug这将在记录查询时使用调试方法而不是信息方法。 关于ruby-如何将RubySequel日志记录设置为DEBUG级别?,我们在StackOverflow上找到一个类似的问题:

ruby-on-rails - 事件记录中缺少属性

我有模型Foo和Bar。Bar有列foo_id。当我调用Bar.foo_id时,出现错误missingattribute:foo_id请记住,这不是未定义的方法错误,该列肯定在数据库中。这有哪些常见原因?谢谢 最佳答案 可能和你的find方法有关?例如,您在查找中执行了:select:Foo.find(:all,:select=>"firstvar,secondvar")在那种情况下,即使您定义了foo_id,您也只能访问firstvar和secondvar希望对您有所帮助!=) 关于r