jjzjj

object-create

全部标签

ruby-on-rails - 工厂女孩 : Automatically assigning parent objects

我刚刚进入FactoryGirl,我遇到了一个困难,我相信应该容易得多。我只是无法将文档扭曲成一个工作示例。假设我有以下模型:classLeague我想做的是:team=Factory.build(:team_with_players)并让它为我培养了一批玩家。我试过这个:Factory.define:team_with_players,:class=>:teamdo|t|t.sequence{|n|"team-#{n}"}t.players{|p|25.times{Factory.build(:player,:team=>t)}}end但这在:team=>t部分失败了,因为t并不是真

ruby-on-rails - 在 Rails 中使用 object_id 列的含义

关于Object本身包含object_id并覆盖它的模型(对于多态关联)具有object_id/object_type的含义是什么(http://ruby-doc.org/core-2.3.1/Object.html#method-i-object_id)?classEventbelongs_to:object,polymorphic:true#object_id/object_typeend 最佳答案 当我在我的一个Rails项目(包括所有Gem)的整个代码库中搜索object_id时,我可以看到超过200个匹配项。仅在Rails

ruby-on-rails - object.count 返回 0。但是 object.any?返回真。发生了什么?

@card.submissions返回:]>@card.submissions.any?返回true。@card.submissions.count返回0。我要实现的是:if@card.submissions.any?render@card.submissionsend 最佳答案 看起来Submission是一个新记录(因为id是nil)。如果它是新的,它还没有进入数据库。count对数据库进行SQL调用以确定行数,因此正确地返回零。any?返回true,因为集合中有一个对象。如果您尝试@card.submissions.to_a.

轨道上的 ruby : How to create table for a new model

我用railsgeneratemodelmynewmodelstring:namestring:description生成一个新模型。如何将这个新模型部署到我的开发数据库中?我的sqlite数据库中已经有一堆数据库。我试过了rakedb:migrate在db中生成这个新表似乎有问题。更新:添加了错误信息==CreateMynewmodels:migrating===============================================--create_table(:mynewmodels)rakeaborted!Anerrorhasoccurred,thisandal

arrays - Ruby : Choosing between each, 映射、注入(inject)、each_with_index 和 each_with_object

当我多年前开始编写Ruby时,我花了一段时间才理解each之间的区别。和map.当我发现所有其他的时,情况只会变得更糟Enumerable和Array方法。借助官方文档和manyStackOverflowquestions,我慢慢开始明白那些方法做了什么。不过,这是我花了更长时间才理解的内容:我为什么要使用一种或另一种方法?有任何指导方针吗?我希望这个问题不会重复:我对“为什么?”更感兴趣。比“什么?”或“如何?”,我认为它可以帮助Ruby新手。 最佳答案 一个更tl;dr的答案:Howtochoosebetweeneach,map

ruby - 编程技术 : How to create a simple card game

随着我学习Ruby语言,我离实际编程越来越近了。我正在考虑创建一个简单的纸牌游戏。我的问题不是面向Ruby的,但我确实想学习如何使用真正的OOP方法解决这个问题。在我的纸牌游戏中,我想有四名玩家,使用一副有52张牌的标准牌组,没有王牌/万能牌。在游戏中,我不会把A当成双牌,它永远是最高的牌。所以,我想知道的编程问题如下:如何对一副纸牌进行排序/随机化?有四种类型,每种类型有13个值。最终只能有唯一值,因此随机选择值可能会产生重复值。如何实现简单的AI?由于有大量的纸牌游戏,有人应该已经弄清楚了这部分,所以引用会很好。我是一个真正的Rubynuby,我的目标是学习解决问题,所以伪代码会很

ruby - 硬件不可能? : "Create a rock paper scissors program in ruby WITHOUT using conditionals"

我正在上介绍性软件开发课,我的作业是创建一个带有两个参数的剪刀石头布程序(石头,纸)等,并返回获胜的arg。现在,如果我可以使用条件语句,我会快速解决这个问题,但作业说我们需要知道的一切都在前三个ruby教科书的章节,这些章节不包括条件!没有它们是否可以创建这个程序?或者他只是希望我们足智多谋并使用条件句?这是一个非常简单的条件分配......我在想我可能在这里遗漏了一些东西。编辑:我正在考虑那个chmod数字系统,并认为通过该加法系统可能有解决方案...... 最佳答案 这是一个只使用哈希的方法:RULES={:rock=>{:r

ruby-on-rails - 测试 'create' Controller 操作的正确方法是什么?

我正在使用RubyonRails3.2.2、Rspec2.9.0和RspecRails2.9.0。我想测试createController操作,但我不知道如何使其成为“正确”/“正确”的方式。我“搭建”了模型、Controller、View……文件,因此在这些文件中我拥有由RubyonRails生成器生成的通用代码;在我的规范文件中,我有:it"assigns@article"donew_article=FactoryGirl.build(:article)Article.should_receive(:new).and_return(new_article)post:createas

ruby-on-rails - 如何按 created_at 属性对集合进行排序

我正在使用RubyonRails2.3.8,我有一个从其他两个集合构建的集合,如下所示:@coll1=Model1.all@coll2=Model2.all@coll=@coll1现在,我想按子孙顺序按created_at属性对该集合进行排序。所以,我做了以下事情:@sorted_coll=@coll.sort{|a,b|b.created_ata.created_at}我有以下异常:undefinedmethod`created_at'for#甚至认为它存在于那些模型中。谁能帮帮我吗? 最佳答案 您将另一个数组作为另一个元素插入@

ruby - FactoryGirl create_list 传入多个值

如果我有这个工厂:factory:product,class:Productdoname{Faker::Commerce.product_name}description{Faker::Lorem.paragraph}price{Faker::Number.number(3)}end我可以使用create_list创建2个这样的产品:FactoryGirl.create_list(:product,2)但我想将默认值传递给我的两个产品,我会假设理论上是这样的吗?prods=[{:name=>"Product1"},{:name=>"Product2"}]FactoryGirl.crea