草庐IT

ruby - 在 RoR 中重用项目的最佳方式是什么?

我有一个在RoR中开发的“核心”项目。问题是有几个独立的项目有这个“核心”作为它们的代码基础,然后它们可能有新的功能或View、助手、Controller等的变化。我希望“核心”的任何变化都可以被这些其他项目跟踪。因此,“核心”中的任何更改都将复制或不复制到其他项目。我在gemify中考虑“核心”项目,但由于其他项目不断变化,这不是最好的解决方案(也是一个漫长的过程)。那就是我所想的。其他解决方案是将一些重要代码分成模块。然后我可以在想要使用它们的项目中导入这些新功能。“核心”项目是一个纯MVCruby​​onrails项目。你对这个问题有什么建议?提前致谢。

ruby-on-rails - 如何在 RSpec 中重用上下文?

我是RSpec的新手,我只是想知道如何在Controller中的多个操作之间重用上下文。具体来说,我有这样的代码:describe"GETindex"docontext"whenauthorized"do...endcontext"whenunauthorized"doit"denysaccess"endenddescribe"GETshow"docontext"whenauthorized"do...endcontext"whenunauthorized"doit"denysaccess"endend...我想把它弄干一点。未经授权的上下文在每个操作上都是相同的,我该如何重用它?

ruby-on-rails - 如何将 arbre 代码干燥成可重用的组件?

我有一个共同的模式或重复的代码,我想在我的ActiveAdminView中干掉。我正在使用arbre组件来尽可能多地呈现我的View,如果可能的话我想保持这种方式(即我真的不想以正常方式转换为直接HTML-我正在尝试理解这里是树荫路)。这是我想干掉的代码:clients.in_groups_of(3).eachdo|clients_group|columnsdoclients_group.compact.eachdo|client|columndopanelclient.namedo#...endendendendend阅读完arbregem中的文档后,我开始尝试创建自己的自定义arb

ruby-on-rails - 如何在 Rails 中使用可重用的 Controller 方法?

我是Rails的新手,正在努力创建一个简单的用户身份验证系统,以掌握Rails的工作原理。我目前正处于我想创建一些可以在我的Controller中使用的方法的地步:is_logged?#=>true和current_user_id#=>6这些将用于与session交互,主要是因为我不会在Controller中重复自己。我应该在哪里定义这些函数以及如何将它们包含在Controller中?非常感谢您的帮助。 最佳答案 方法一您可以在app/helpers/my_module.rb内的帮助文件中定义这些方法。您可以在那里创建一个模块,将所

ruby-on-rails - Rails 2.2 中可重用辅助方法的最佳位置

我计划创建一种方法,以特定方式(俄语专用格式)格式化时间。我想在多个模型、Controller和可能的View中重用这个辅助方法。我还想在Time类的实例上调用这个辅助方法,如下所示:t=Time.nowt.my_super_shiny_helper问题:我应该在哪里实现这个助手?(模块或类,在应用程序目录结构中的什么位置?)。创建好后,应该怎么调用呢?我是ruby​​/rails的新手,很难让它以正确的方式工作。谢谢。 最佳答案 我会添加一个文件到lib/time_extensions.rbclassTimedefmy_shiny

ruby-on-rails - 在 Ruby 中重用 GraphQL 参数

我正在使用rails和graphql-rubygem构建我的第一个GraphQLapi。到目前为止,它非常简单而且非常棒。我现在有点被重复代码困住了。我有一个项目管理Rails应用程序,它有空间、待办事项(它们属于一个空间)、用户。我想要实现的是能够查询空间及其待办事项以及当前用户的所有待办事项。对于待办事项,我希望能够使用不同的参数来过滤它们:完成-bool值,范围-字符串(今天或本周),受让人-整数(用户的Id)query{space(id:5){todos(done:false){namedonedueAt}}}query{me{todos(done:false,scope:to

ruby-on-rails - 在 Rspec 中重用代码的最佳实践?

我正在使用Rspec和Capybara编写集成测试。我注意到,在测试activerecord选项的创建时,我经常必须执行相同的代码。例如:it"shouldcreateanewinstance"do#Icreateaninstancehereendit"shoulddosomethingbasedonanewinstance"do#Icreateaninstancehere#Iclickintotherecordandaddasubrecord,orsomethingelseend问题似乎是ActiveRecord对象不会在测试中保持不变,但默认情况下,Capybara在规范中维护相同

ruby - 如何重用 ActiveRecord 中的连接?

当我发现连接不会被这个简单的API自动重用时,我正在研究Sinatra和ActiveRecord。#!/usr/bin/envrubyrequire'sinatra'require'active_record'ActiveRecord::Base.establish_connection(adapter:'sqlite3',database:'newsletter.db')ActiveRecord::Schema.definedocreate_table:subscribersdo|t|t.string:emailt.timestampsendendclassSubscriberAPI

javascript - Javascript 是一种基于原型(prototype)的语言是什么意思?

据说Javascript的主要优势之一是它是一种基于原型(prototype)的语言。但是Javascript是基于原型(prototype)的意味着什么,为什么这是一个优势? 最佳答案 原型(prototype)继承是一种面向对象的代码重用。Javascript是唯一使用原型(prototype)继承的[主流]面向对象语言之一。几乎所有其他面向对象的语言都是经典的。在经典继承中,程序员编写一个定义对象的类。多个对象可以从同一个类中实例化,因此您可以在一个地方拥有描述程序中多个对象的代码。然后可以将类组织成层次结构,从而促进代码重用

javascript - Javascript 是一种基于原型(prototype)的语言是什么意思?

据说Javascript的主要优势之一是它是一种基于原型(prototype)的语言。但是Javascript是基于原型(prototype)的意味着什么,为什么这是一个优势? 最佳答案 原型(prototype)继承是一种面向对象的代码重用。Javascript是唯一使用原型(prototype)继承的[主流]面向对象语言之一。几乎所有其他面向对象的语言都是经典的。在经典继承中,程序员编写一个定义对象的类。多个对象可以从同一个类中实例化,因此您可以在一个地方拥有描述程序中多个对象的代码。然后可以将类组织成层次结构,从而促进代码重用