草庐IT

javascript - 延迟加载有时在 Angular 上不起作用

全部标签

ruby-on-rails - 在 Ruby on Rails 中,如何为 has_many 关系创建作用域?

这是一个例子:假设我有一个Student对象,它与ReportCard对象有has_many关系。ReportCard对象有一个名为“graded”的bool字段,用于标记它们已被评分。所以它看起来像:classStudent现在,假设您要创建一个默认范围,以便如果学生没有已评分的成绩单,您希望看到所有这些成绩单,但如果他们至少有一张已评分的成绩单,您只想查看已评分的成绩单.最后,假设您按“semester_number”排序。在ReportCard上使用此范围可以正常工作:scope:only_graded_if_possible,->(student){where(graded:t

ruby-on-rails - 启动或确保延迟作业在应用程序/服务器重新启动时运行

我们必须使用delayed_job(或其他一些后台作业处理器)在后台运行作业,但我们不允许更改服务器上的启动脚本/启动级别。这意味着如果提供程序重新启动服务器,则不能保证守护进程保持可用(因为守护进程将由每次部署仅运行一次的capistrano配方启动)。目前,我能想到的确保delayed_job守护进程始终运行的最佳方法是向我们的Rails应用程序添加一个初始化程序,以检查守护进程是否正在运行。如果它没有运行,那么初始化器会启动守护进程,否则,它就让它保持运行。因此,问题是我们如何检测Delayed_Job守护程序是否在脚本内部运行?(我们应该能够很容易地启动一个守护进程,但我不知道

ruby-on-rails - 无法加载此类文件 — ruby​​gems.rb

要打开这个项目(revel),我需要使用ruby​​-2.1.2。我同时安装了ruby​​-2.1.0和ruby​​-2.1.2,但我认为2.1.2版本由于某种原因已损坏,我似乎无法使用它。|~/desktop/ix/projects/revel>rvmuse2.1.2Using/Users/lianoosh/.rvm/gems/ruby-2.1.2:1:in`require':cannotloadsuchfile--rubygems.rb(LoadError)from:1:in`'|~/desktop/ix/projects/revel>gemlist:1:in`require':c

ruby - 将 Ruby 类加载到应用程序中的最佳方法是什么?

目前我正在使用require命令将Ruby类加载到每个类文件中,例如:requireFile.join(File.dirname(__FILE__),'observation_worker')requireFile.join(File.dirname(__FILE__),'log_worker')对于每个类,我都定义了它需要的类。如果我可以在我的应用程序的入口点执行此操作,那就太好了。有没有一种在应用程序启动时加载所有Ruby类的简单方法? 最佳答案 如果您对代码所在的位置有一个比较清晰的目录结构,您可以将特定的目录路径添加到加载路

ruby - 从 Cucumber/Capybara 测试中执行 JavaScript

似乎Selenium有一个名为JavascriptExecutor的功能,它可以直接在页面上执行JavaScript。然而,我的Cucumber/Capybara测试似乎没有这样的东西。如何从我的Cucumber测试中执行任意JavaScript? 最佳答案 Capybara有两种执行javascript的方法#execute_script和#evaluate_script。两者都可以在以下位置找到:http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Seleni

Ruby:对可能包含 nil 的多维数组进行排序有时会失败

我在我的一个项目的失败测试中发现了这个例子。为什么这样做:[[1,2,3],[2,3,4],[1,1,nil]].sort#=>[[1,1,nil],[1,2,3],[2,3,4]]但这不是:[[1,2,3],[nil,3,4],[1,1,nil]].sort#=>ERROR:ArgumentError:comparisonofArraywithArrayfailed已测试的Ruby版本:2.0.0、1.9.3。 最佳答案 它失败了,因为它超过了nil。第一个测试示例没有失败的原因是1,1与1,2进行了比较。它不会达到nil的程度进

Ruby require 'file' 不起作用,但 require './file' 可以。为什么?

我有一个装满ruby​​文件的文件夹,当我尝试使用require'file'在同一目录中的另一个文件中请求一个文件时,我得到一个LoadError但当我使用require'./file'时一切正常。有人可以向我解释为什么会发生这种情况吗?如果有任何方法我可以在不向文件添加./的情况下获取文件?(目录图片): 最佳答案 如果你想require一个文件不是来自系统$LOAD_PATH而是相对于你require文件的目录来自,你应该使用require_relative.(如您所见,这并没有广泛记录。)

ruby - 如何像在 Javascript 中一样在 Ruby 中动态创建对象及其方法?

我最近发现在Ruby中动态创建对象和方法是一件很费力的事情,这可能是因为我有Javascript背景经验。在Javascript中,您可以动态创建对象及其方法,如下所示:functionsomewhere_inside_my_code(){foo={};foo.bar=function(){/**dosomething**/};};如何在Ruby中完成上述语句(与在Javascript中一样简单)? 最佳答案 您可以使用单例方法实现此目的。请注意,您可以对所有对象执行此操作,例如:str="Ilikecookies!"defstr.

ruby-on-rails - 使用 Rails Assets 管道在 JavaScript 文件中编码问题

我正在使用Rails3.1和Assets管道(ruby1.9.2)。在尝试提供具有utf-8编码字符串的javascriptjs.erb文件时出现以下错误invalidbytesequenceinUS-ASCII我在我的environment.rb文件中设置了Encoding.default_external="UTF-8"。我如何让Assets管道以不同的编码提供服务?编辑仅当我在文件外部生成utf-8字符时才会出现该错误(在本例中是通过从数据库查询)。如果我添加,错误就会消失到文件的顶部。我猜这里会进行某种编码猜测,但如果没有那种骇人听闻的解决方案,我该如何避免呢?

ruby-on-rails - 如何从初始化器扩展一个类并在开发环境中重新加载它?

我通过包含一个模块来扩展一个类(在插件中),这是在初始化程序中完成的。require'qwerty/core/user'User.send:include,Qwerty::Core::Extensions::User但是在开发过程中,在每次请求之前(以及在控制台中调用reload!之后)所有模型都会重新加载,但由于初始化器不会再次运行,所以模块不包含在内。留下带有“缺失部分”的模型。因为模型在插件中,所以将代码直接包含在类中似乎不是明智的做法,这将是通常的方法。现在我只是简单地添加了一个before_filter,它包含了开发环境中的模块。但是我有复制/粘贴并且在初始化程序和应用程序C