草庐IT

noreferrer

全部标签

ruby-on-rails - 如何在 Rails ActiveJob 中创建日常工作(类似 cron)?

我知道这个线程:Acronjobforrails:bestpractices?,但没有提到ActiveJob。我使用ActiveJob的动机是因为它内置于Rails中,下面是其文档的摘录:“这些工作可以是一切,从定期安排的清理,到计费,再到邮寄。”如何在RailsActiveJob中创建日常工作(类似cron)?因为我没有在itsdocs中看到运行定期计划作业的示例.还是我应该坚持使用whenevergem? 最佳答案 坚持使用whenevergem或类似的gem,例如chrono,clockwork,rufus-scheduler

ruby - 获取 capybara 中元素的所有类?

使用capybara,有没有办法获取元素的所有css类?查看文档,我看不出有任何简单的方法可以做到这一点。此外,给定一个元素elem和一个css类someclass,elem.has_css?('.someclass')应该等同于jquery$(elem).hasClass('someclass')?此特定测试使用Selenium,因为它涉及javascript。 最佳答案 Element#[]对我来说看起来很简单:find('div')[:class]Also,givenanelement,elem,andacssclass,so

ruby - Ruby 中的延续

有没有人做过让Ruby进行延续的工作(比如Smalltalk上的Seaside)? 最佳答案 是的,在大多数情况下。据我所知,MRI(1.8)支持它们,Ruby1.9(YARV)doesit,too,鲁比纽斯也是。JRuby和IronRuby没有延续,而且它们不太可能获得延续(JVM和CLR使用堆栈自省(introspection)来确保安全)Ruby作为一种语言支持通过callcc关键字进行延续。例如,它们用于实现标准库中的Generator类。continuationsonruby-doc基于Continuation的Web框架

ruby - 制作 Ruby Gem - 无法加载此类文件

我正在尝试使用http://guides.rubygems.org/make-your-own-gem/中的说明构建Rubygem.以下似乎工作正常并生成一个*.gem文件。gembuildmygem.gemspec以下似乎也是成功的(仅当以sudo开头时):sudogeminstallmygem-0.0.1.gem但是,当我尝试在irb中require'mygem'时,出现以下错误:LoadError:cannotloadsuchfile--mygem我在Stackoverflow周围看到过类似的错误,但无法找出在我的具体情况下出了什么问题。我可以毫无问题地要求其他gem(不是我的)

ruby - RUBY_ENGINE 的哪些值对应于哪些 Ruby 实现?

我所知道的在运行时检测Ruby实现(例如MRI、JRuby、Rubinius等)的方法是检查全局常量RUBY_ENGINE:$ruby-e'putsRUBY_ENGINE'ruby什么是已知Ruby实现及其对应的RUBY_ENGINE值的合理全面列表? 最佳答案 这是我目前发现的:|RUBY_ENGINE|Implementation||:-----------:|:------------------|||MRI=1.9orREE||'jruby'|JRuby||'macruby'|MacRuby||'rbx'|Rubinius|

ruby - 在 ruby​​/ActiveRecord 中生成类似 Instagram 或 Youtube 的不可猜测的字符串 ID

在创建给定ActiveRecord模型对象的实例后,我需要生成一个简短的(6-8个字符)唯一字符串用作URL中的标识符,采用Instagram照片URL的样式(如http://instagram.com/p/P541i4ErdL/,它我只是争先恐后地成为404)或Youtube的视频网址(如http://www.youtube.com/watch?v=oHg5SJYRHA0)。执行此操作的最佳方法是什么?最简单的是createarandomstring重复直到它是唯一的?有没有一种方法可以对整数ID进行散列/洗牌,使用户无法通过更改一个字符来破解URL(就像我对上面的404'sInst

ruby-on-rails - Rails (ActiveRecord) 多对多表

我有两个模型,用户和组。每个组可以有多个用户,每个用户可以在多个组中。我目前有一些简单的东西,比如:用户:has_many:groups组:has_many:users所以我有一个groups_users表,它只是用group_id和user_id创建行。我想为此添加另一列(我有),问题是如何在不使用自定义SQL调用的情况下从模型访问它?在组模型中,我可以使用self.users,在用户中,我可以使用self.groups有没有办法从用户模型更改此表中的第三列?对不起,如果这令人困惑,请就此提出建议 最佳答案 这里有一些教程应该会有

ruby-on-rails - 在 Rails 中旋转后台任务

为Rails应用程序创建后台任务的首选方法是什么?我听说过Starling/Workling和优秀的ol'script/runner,但我很好奇哪种正在成为满足这一需求的实际方式?谢谢!澄清:我喜欢后台Rake的想法,但问题是,我需要持续运行或每10小时运行一次的东西。我不会奢侈地等待Web请求,它需要由服务器启动,与我网站上发生的事件异步。 最佳答案 RyanBates制作了三个可能真正对您有帮助的精彩截屏视频:RakeinBackgroundStarlingandWorklingCustomDaemon他谈到了使用每一种方法的各

ruby - Rack 和 Passenger 有什么区别?

我正在尝试将Sinatra应用程序部署到Dreamhost,它显示以下内容:SinceDHsupportsPassenger,whichinturnsupportsRack-basedrubyapplications,DHdoesindeedsupportSinatra.我在解析该语句时遇到困难-Rack和Passenger之间有什么区别(以及为什么Sinatra是“基于Rack的”)? 最佳答案 Rack是standardizedAPI用于Web服务器与Ruby中的中间件和Web框架通信。PhusionPassenger是一个实现

Ruby 将字符串转换为文件

是否可以将字符串转换为文件而不将其写入磁盘?我想无处不在地使用文件的字符串:input="123"if(ARGV.length==1)input=File.open(ARGV[0])#dostuffwithinputend我可以从字符串创建文件(不写入磁盘)吗?否则,当它是一个字符串时,我将无法执行input.readline()。 最佳答案 您可以使用StringIO(1.8.7,1.9.3)创建一个IO(1.8.7,1.9.3)对象(即一个对象就像一个文件)来自一个字符串:file=StringIO.new("123")line