草庐IT

Python代码:动态的创建列表

全部标签

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 - 我的非模型/非 Controller 代码应该放在哪里?

我编写了一个遵循常规目录结构的Rails应用程序(模型代码在模型中,Controller代码在Controller中)。但我现在正在开发一项新功能,为此我编写了一些(我称之为)“服务”代码。新功能是将一些数据导入系统,目前是两个类来进行导入,但可以扩展到更多。我不认为新代码属于模型,因为它不对任何对象建模(它也不直接与任何单个对象相关。我当然不认为它属于Controller,因为它不是表示逻辑。因此,我创建了一个“app/services”目录并将其放在那里。我还创建了一个“test/services”目录,用于放置我的测试。我认为一切都很好,但是当我运行“rake:test”或“au

ruby - Chef 和 erb 模板。如何使用 bool 代码块

我是Chef、Ruby、RubyDSL和erb的新手。我来自python。在ruby​​erb模板中,我想做这样的事情。ALLOFMYNGINXTEXTALLOFMYREDISTEXT很明显,我遗漏了一些关于正确语法的信息。谢谢 最佳答案 试试这个:nginx_text=redis_text=包裹在中的代码或是一个被评估的陈述。包裹在中的代码是被评估的代码,结果被放入文件中。Harcoded字符串如果是常量则不必包裹在erb标签中,但如果您希望该代码的结果进入您的文件,则Ruby代码必须包裹在erb标签中

ruby-on-rails - 如何使用 Ruby "Right Way!"创建嵌套循环?

我正在学习Ruby,参加了伯克利的MOOC,并且在其中一些MOOC的作业中,我们有一个练习说:Defineamethodsum_to_n?whichtakesanarrayofintegersandanadditionalinteger,n,asargumentsandreturnstrueifanytwoelementsinthearrayofintegerssumton.Anemptyarrayshouldsumtozerobydefinition.我已经创建了两个可以完成这项工作的方法,但我对其中任何一个都不满意,因为我认为它们不是用Ruby方式编写的。我希望你们中的一些人可以帮

ruby - 如何从包含空格的字符串创建符号?

我正在为电影名称存储创建一个Ruby哈希。当散列的键是包含空格的字符串时,它工作得很好。如:movies={"阿凡达"=>5,"指环王"=>4,"教父"=>4}现在我正在尝试用符号替换字符串的使用:movies={阿凡达:5,指环王:4,教父:4}显然那是行不通的。Ruby如何处理符号命名中的空格? 最佳答案 自己试试"Lordoftherings".to_sym#=>:"Lordoftherings" 关于ruby-如何从包含空格的字符串创建符号?,我们在StackOverflow上找

Ruby 动态类。如何修复 "warning: class variable access from toplevel"

我正在尝试编写一个程序,根据从文件中读取的配置动态定义ruby​​类。我知道我可以使用Class.new来做到这一点。这是一个示例程序:x=[1,2,3]Test=Class.newdo@@mylist=xdeffooputs@@mylistendendTest.new.foo当我运行它时,我得到以下输出(使用ruby​​1.9.3p0运行):c:/utils/test.rb:4:warning:classvariableaccessfromtoplevelc:/utils/test.rb:7:warning:classvariableaccessfromtoplevel123Does

ruby - 按名称动态获取 Ruby 类常量

我有一个类API,它从第三方API中提取对象并将它们构建到类型为APIObject的子类的对象中。APIObject子类与我从中提取的API中的对象名称相匹配:User我想在APIObject中定义一个类方法,允许我使用标准Rails访问器拉取对象:user=User.findid我想要将此调用转换为这样的API调用的方法:API::User::findByIdid我想使用self.class.name访问APIObject子类(User)的名称,并使用它来调用常量(API::User),但我知道API::self.class.name不会工作。我可以为每个子类一遍又一遍地重写这个方法

ruby - 从 Ruby 中的多维数组创建排列

我在Ruby中有以下多维数组:[[1,2],[3],[4,5,6]]我需要有以下输出:[[1,3,4],[1,3,5],[1,3,6],[2,3,4],[2,3,5],[2,3,6]]我试过创建一个递归函数,但运气不太好。是否有任何Ruby函数可以帮助解决这个问题?还是递归执行此操作的唯一选择?谢谢 最佳答案 是的,Array#product就是这样做的(Cartesianproduct):a=[[1,2],[3],[4,5,6]]head,*rest=a#head=[1,2],rest=[[3],[4,5,6]]head.prod

ruby-on-rails - 动态获取对象的属性

如何动态获取activerecord对象的属性值?例如,我有一个名为attr_name的变量。我想做这样的事情:person=Person.find(1)attr_name="address"address=person.(attr_name)可以使用哪个function_name? 最佳答案 使用person.attributes[attr_name]或person.read_attribute(att_name),或者更短,然后是person[attr_name]. 关于ruby-o

ruby-on-rails - Capistrano 无法部署代码,因为 Net::SSH::AuthenticationFailed: Authentication failed

我们有一个在AmazonAWS上运行的Rails应用程序。连续几个月,我们几乎每天都向那里推送新代码。今天,当我试图在那里部署一个新代码时,我得到了这个错误信息:*2014-02-1613:09:51executing`deploy'*2014-02-1613:09:51executing`deploy:update'**transaction:start*2014-02-1613:09:51executing`deploy:update_code'updatingthecachedcheckoutonallserversexecutinglocally:"gitls-remotegi