草庐IT

all_trailers

全部标签

sql - Rails/Ransack : eq_all array of ids

@array=[1,2,3,4]我有以下输入=f.input:organism_id_eq_all,collection:@array但它在ransack中不起作用,我得到以下sql:SELECT...WHERE`organism_id`IN(0)我的代码有什么问题?谢谢。 最佳答案 尝试使用_in而不是_eq_all=f.input:organism_id_in,collection:@array呈现的HTML将在发布时生成一组选定的ID。 关于sql-Rails/Ransack:eq

ruby-on-rails - .where(nil) 和 .all 有什么区别?

我一直在用Product.all但是我看到的很多代码都在使用Product.where(nil)填充变量时。这个site有一个我发现使用where(nil)的例子。我搜索了文档,发现where(nil)替换了scoped但无法弄清楚它的作用。 最佳答案 我相信过去是有区别的,但是从Rails4开始就不一样了。这是因为从Rails4.all返回一个关系,而它用于返回一个数组。所以之前:Product.all立即向数据库发起查询以返回所有记录,这些记录将加载到内存中的数组中。基本上,您是在告诉Rails您现在需要数据。参见thisque

ruby - Prawn 在使用 repeat( :all)

我正在生成一个文档,其中包含流向每个后续页面的数据,每个页面都有一个标准标题。但是,当我使用repeat(:all)将页眉放在每一页上时,我发现除了第一页之外的每一页上,下一个内容都没有按照我放在页面上的页眉横幅的大小向下移动.我生成横幅的代码:classSmartsoftPdf40draw_texttext,:at=>[80,25],:size=>12,:style=>:bold,:color=>BLUEdraw_text"Date:#{ausDate(date)}",:at=>[bounds.right-100,bounds.top-15],:size=>10ifdateenden

ruby - Rails,防止 Model.scoped 的弃用警告,找到(:all) and relation #all?

我有通过但显示的测试$rspecspec/event_calendar_spec.rb......DEPRECATIONWARNING:Model.scopedisdeprecated.PleaseuseModel.allinstead.(calledfromevents_for_date_rangeat/home/durrantm/Dropbox/96_2013/work/code/ruby/event_calendar/lib/event_calendar.rb:52)DEPRECATIONWARNING:Calling#find(:all)isdeprecated.Pleasec

html - Nokogiri 和 Xpath : find all text between two tags

我不确定这是语法问题还是版本差异问题,但我似乎无法弄清楚。我想获取(非关闭)td中的数据来自h2标记到h3标签。这是HTML的样子。NameIWantTownPhoneNumberemailIwant@nowhere.comwebsiteIwant.comIwanttostopbeforethis!LoremIpsumYaddaYadda205">...直到页面底部才关闭,我认为这可能是我遇到问题的原因。我的Ruby代码如下所示:require'open-uri'require'nokogiri'@doc=Nokogiri::XML(open("http://www.url.co

ruby - Rails update_all 与 hstore

使用activerecord使用hstore列更新多条记录的好方法是什么?现在我正在像这样循环、更新和保存:time=Time.now.to_sscoped_tasks.eachdo|task|task.data[:last_checked]=timetask.save!end有什么方法可以用update_all查询来做到这一点吗?我见过的一种解决方案如下所示:MyModel.update_all(:properties=>ActiveRecord::Coders::Hstore.dump({'a'=>1}))但这样做的问题是它会覆盖整个列,因此其他值会丢失。我也看到了这个:MyMod

ruby-on-rails - ruby rails : How do I move all files from one folder to another folder?

但我还需要一种重命名它们的方法,以防发生冲突。喜欢如果存在?然后file.name="1-"+file.name或类似的东西 最佳答案 也许这样的事情对你有用:origin='/test_dir'destination='/another_test_dir'Dir.glob(File.join(origin,'*')).eachdo|file|ifFile.exists?File.join(destination,File.basename(file))FileUtils.movefile,File.join(destination

ruby-on-rails - 让 Rails #destroy_all 运行得更快

我想运行Alarm.destroy_all,但是,每个警报都关联到许多AlarmEvent,每个AlarmEvent都关联到许多AlarmEvent::Measurement,两个关联都标记为:dependent=>destroy因此,当我调用Alarm.destroyall时,此调用需要很长时间才能运行。有什么办法可以让它更快吗?怎么办?直到现在我已经尝试过Alarm.joins(:alarm_events).destroy_all并且它仍然很慢。 最佳答案 destroy_all更快的替代方法是delete_all但这不会追查和

ruby-on-rails - 在 Rails 中捕获超时异常似乎会跳过救援并爆炸 "all the way up"

我有一个Controller:classEventsControllere#swallowendendend出于某种原因,rescue语句没有捕获超时,而是一直冒泡到顶部,stacktrace被转储到控制台等。使用默认的Timeout::Error具有相同的效果。这只发生在生产环境中,而不是在我的开发机器上。就好像有其他东西在监视超时并在事件到达我的救援之前捕获它们。生成的堆栈跟踪是这样的:[GEM_ROOT]/gems/SystemTimer-1.2/lib/system_timer/concurrent_timer_pool.rb:63:in`read_reply'vendor/g

ruby - 如何在之前访问标签过滤器(:suite)/before(:all) hook in RSpec?

我想访问命令行传递的标签过滤器命令行rspec--taguse_ffRSpec配置RSpec.configuredo|config|config.before:suite,type::featuredo#howdoIcheckifuse_fffilterwasspecifiedinthecommandline?iffilter[:use_ff]use_seleniumelseuse_poltergeistendendend在before(:suite)钩子(Hook)中,我想访问在配置的命令行中指定的标签过滤器。根据rspec-core代码库,包含标签过滤器存储在inclusion_f