草庐IT

构建模式

全部标签

ruby-on-rails - 如何构建我的 RSpec 测试文件夹、文件和数据库?

我已经使用RoR进行开发一年多了,但我才刚刚开始使用RSpec进行测试。对于标准模型/Controller测试,我通常没有任何问题,但问题是我想测试一些复杂的功能流程,并且不知道如何构建我的测试文件夹/文件/数据库。这是我的应用程序的基本结构:classCustomerhas_one:wallethas_many:ordershas_many:invoices,through::ordershas_many:invoice_summariesendclassWalletbelongs_to:customerendclassOrderhas_one:invoicebelongs_to:c

ruby-on-rails - 具有存储库模式的 Ruby on Rails?

在使用ASP.NetMVC之后,我想到了Rails。我之前使用过Rails,但有点生疏。ASP.NetMVC教程建议使用存储库模式隐藏数据层实现。这允许更容易的单元测试依赖注入(inject),以及Controller与模型实现的良好解耦。我记得Rails的Controller直接使用ActiveRecord对象,单元测试使用可以轻松设置和拆除的测试数据库。这解决了换出单元测试的需要,但在Controller中暴露这么多ActiveRecord代码似乎仍然不是一个好主意。所以我的问题是,最新的最佳实践是什么?真实的(不是模拟的)数据库是否仍然用于单元测试?Rails开发人员是直接调用A

ruby-on-rails - 工厂女孩在构建/创建时将参数传递给模型定义

模型/message.rbclassMessageattr_reader:bundle_id,:order_id,:order_number,:eventdefinitialize(message)hash=message@bundle_id=hash[:payload][:bundle_id]@order_id=hash[:payload][:order_id]@order_number=hash[:payload][:order_number]@event=hash[:concern]endend规范/模型/message_spec.rbrequire'spec_helper'de

ruby-on-rails - 在 Rails 应用程序中使用模块建模

我有一个模型需要从辅助源加载外部数据。存在许多Web服务,我的模型可以从中获取数据(可交换),但我不想创建会使更改服务变得困难的代码(成本因可变和固定使用而显着不同,并且可能会改变将是必需的)。我想创建一个驱动程序来执行交互(然后如果服务需要切换,则创建更多自定义驱动程序)。不幸的是,由于驱动程序和模型的紧密耦合,将代码提取到插件或gem中没有意义。我已将所有代码提取到一个模块中(参见示例),目前已在我的模型上方声明了代码。moduleSynchronizedefrefreshself.attributes=...self.saveendendclassDataRails(3.0.0)

ruby-on-rails - 如何将rails更改为开发模式

在rails(3.2.3)的文档中说Indevelopmentmode(whichiswhatyou’reworkinginbydefault),Railsreloadsyourapplicationwitheverybrowserrequest,sothere’snoneedtostopandrestartthewebserver.但显然我的应用程序在开箱即用的生产模式下加载。(我可以键入Rails.env并查看它)。为什么?然后我转到environment.rb并添加ENV["RAILS_ENV"]="development"它仍在生产中。任何的想法?编辑:给你#Loadthera

ruby-on-rails - 从模式中删除表 - Rails

我想删除架构中的一个表。我在第一次启动项目时创建了数据库,并希望删除该表。这样做的最佳方法是什么?我试过railsgmigrationdroptable:installs但这只会创建一个空迁移吗?架构:create_table"installs",force::cascadedo|t|t.string"email",default:"",null:falset.string"encrypted_password",default:"",null:falset.string"reset_password_token"t.datetime"reset_password_sent_at"t.

ruby - Ruby/Rake 中的递归模式文件删除

我正在尝试根据给定路径中包含的所有目录中的模式删除文件。我有以下但它就像一个无限循环。当我取消循环时,没有文件被删除。我哪里错了?defrecursive_delete(dirPath,pattern)if(defined?dirPathanddefined?pattern&&File.exists?(dirPath))stack=[dirPath]while!stack.empty?current=stack.delete_at(0)Dir.foreach(current)do|file|ifFile.directory?(file)stack 最佳答案

ruby - Emacs ruby​​ 模式缩进行为

classFooattr_accessor:a,:time,#mssinceepoch:b,:cend在文本模式下,'a'之后列出的变量将如上所示缩进,但在ruby​​模式下,它们将与'attr_accessor'齐平。在这种情况下,如何让ruby​​模式像文本模式一样缩进?请注意,除了所有其他ruby​​-mode.el缩进规则之外,我希望能够选择整个文件并点击c-m-\以获得上述缩进。 最佳答案 这种技巧应该适用于大多数情况。(defadviceruby-indent-line(afterline-up-argsactivate

ruby - 是否可以使用 MagLev for ruby​​ 构建生产 Web 应用程序?

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter为指导。8年前关闭。总的来说,我是Rails和ruby​​的粉丝,可能会着手为金融机构构建企业应用程序。我真的很喜欢磁悬浮的想法,不知道是否值得考虑。我还没有找到太多关于maglev是否​​被用于生产中的信息,更不用说用于高安全性目的了。有没有人使用MagLev成功部署过关键任务应用程序?如果是这样,您能否提供有关您的体验的详细信息并可能命名该应用程序?

数仓建模—企业数字化转型

企业数字化转型通过数字化转型提速、赋能传统行业已经成为共识,数字化转型的本质就是应用大规模数据处理技术来提升企业的运营效率。这就涉及到了这个概念之下的一个关键技术–数据处理。随着社会的不断进步,就需从海量的数据中提取有价值、有意义的信息,以改进企业决策的合理性,进而提升效率。围绕这个目标就涉及到解决各种挑战,例如合规性、数据安全、快速决策、遗留系统整合、多样化的数据源等。为此,研究人员抽象出了一个围绕数据处理的概念模型。在这个抽象模型中,最重要的设计思想就是实现由“数据”到“洞察力”的提升。这个变化是由业务发展以及数据处理技术交互作用的必然结果,数据挖掘、数据分析、机器学习等专有名词已经由概念