草庐IT

commonjs-why-and-how

全部标签

ruby-on-rails - 使用 has_many :through and build

我有三个模型,都用于has_many:through关系。它们看起来像这样:classCompany这加载很好,并且连接是为查询而构建的。但是,每当我做类似的事情时@company=Company.last@user=@company.users.build(params[:user])@user.save#=>true@company.save#=>trueUser记录和CompanyUser记录被创建,但是company_idCompanyUser中的字段记录设置为NULLINSERTINTO`companies_users`(`company_id`,`created_at`,`

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

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

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

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

ruby-on-rails - rails : Why do I get "warning: already initialized constant JSON::VERSION" when running rake cucumber?

我刚刚设置了一个LinuxMintbox,用于使用rvm进行Rails开发。我继续生成了一个Rails5应用程序,设置了mysql连接,添加了cucumber-railsgem然后尝试运行:rakecucumber出于某种原因,我遇到了:/usr/bin/ruby2.3-Sbundleexeccucumber--profiledefault/usr/lib/ruby/vendor_ruby/json/version.rb:3:warning:alreadyinitializedconstantJSON::VERSION/var/lib/gems/2.3.0/gems/json-1.8.

ruby-on-rails - Ruby on Rails : How to validate nested attributes on certain condition?

我有这些模型:classOrganisation:addressable,:dependent=>:destroyaccepts_nested_attributes_for:address,:allow_destroy=>trueendclassPerson:addressable,:dependent=>:destroyaccepts_nested_attributes_for:address,:allow_destroy=>true#Thesetwomethodsseemtohavenoeffectatall!validates_presence_of:organisation,:

ruby-on-rails - rails : how to set json format for redirect_to

我如何才能不重定向到html格式而是重定向到json?我想要这样的东西:redirect_touser_path(@user),format::json但这不起作用,我仍然重定向到html路径。 最佳答案 我又读了一些apidock...这很简单。我应该像这样在路径助手中指定格式:redirect_touser_path(@user,format::json) 关于ruby-on-rails-rails:howtosetjsonformatforredirect_to,我们在StackO

sql - 在 AREL 中分组 ands 和 ors

我正在尝试使用arel查询此sql片段的等效项:WHERE(("participants"."accepted"='f'AND"participants"."contact_id"=1)OR"participants"."id"ISNULL)所以我想要(accepted&&contact_id=1)ORNULL这是我在AREL中得到的participants[:accepted].eq(false).and(participants[:contact_id].eq(1).or(participants[:id].is(nil)问题是,这会产生:("participants"."acce

ruby - 背包 : how to add item type to existing solution

我一直在使用动态规划的这种变体来解决背包问题:KnapsackItem=Struct.new(:name,:cost,:value)KnapsackProblem=Struct.new(:items,:max_cost)defdynamic_programming_knapsack(problem)num_items=problem.items.sizeitems=problem.itemsmax_cost=problem.max_costcost_matrix=zeros(num_items,max_cost+1)num_items.timesdo|i|(max_cost+1).ti

Ruby attr_accessor 与 getter/setter 基准测试 : why is accessor faster?

我刚刚针对等效的getter/setter方法测试了attr_accessor:classA#wedefinetwoR/Wattributeswithaccessorsattr_accessor:acc,:bcc#wedefinetwoattributeswithgetter/setter-functionsdefdirA=(d);@dirA=d;enddefdirA;@dirA;enddefdirB=(d);@dirB=d;enddefdirB;@dirB;endendvarA=A.newstartT=0dirT=0accT=0#nowwedo100timesthesamebench

ruby-on-rails - ruby rails : how to migrate changes made on models?

在Rails应用程序中,如何迁移我在模型中所做的更改?例如,我知道如果我使用命令“railsgmodelPersonname:string”创建一个模型,也会创建一个迁移。但是,如果在这一步之后我转到创建的模型“Person”并添加一个新属性,这个新属性是否会自动添加到迁移中以便以后在数据库中持久化?还是我从错误的角度看待这个问题,应该将属性添加到迁移,然后再添加到模型?问候 最佳答案 您不能真正向模型“添加”属性,您可以通过创建迁移文件并运行它来实现——Rails根据数据库中的列来确定模型具有的属性。但是,如果您希望能够通过批量分