草庐IT

create_a

全部标签

ruby-on-rails - find_or_create_by - 不更新

我想向我的Controller提交一个产品ID和一个零售商ID,如果数据库中存在该组合,我想用提交的参数更新该记录,如果不存在,则创建一个新记录。我的Controller在下面,目前我可以看到,如果组合不存在,则会创建记录,但是当找到组合时,它会执行选择查询并且不会更新记录。我怎样才能让它更新而不只是选择?谢谢Controller:defAddNewPrice@newPrice=ProductPrice.find_or_create_by(product_id:params[:product_id],retailer_id:params[:retailer_id])end更新抱歉..刚

ruby-on-rails - 在给定月份中按天按 `created_at` 获取元素计数

我想为过去一个月在我的应用中创建的用户制作一个简单的图表。基本上就像过去一个月的每一天一样,我想显示当天注册的用户数。到目前为止我所拥有的:#Controller@users=User.count(:order=>'DATE(created_at)DESC',:group=>["DATE(created_at)"])#View#Output2010-01-1022010-01-08112010-01-07232010-01-024没关系,但如果在给定的一天没有创建用户,它应该说“0”而不是根本不存在。如何循环过去30天的每一天并显示当天创建的用户数? 最佳答

ruby-on-rails - find_or_create ActiveRecord::RecordNotUnique 救援重试不起作用

使用ruby​​2.1.2和rails4.1.4。我对数据库中的电子邮件列有唯一约束。如果存在一个线程正在创建用户而另一个线程试图同时创建的竞争条件,则会引发记录不唯一的异常。我正在尝试通过重试来处理此异常,以便在重试时它将在find_or_create的SELECT期间找到客户。然而,它似乎并没有起作用。它用尽重试次数,然后重新引发异常。这是我最初做的:retries=10beginuser=User.find_or_create_by(:email=>email)rescueActiveRecord::RecordNotUniqueretryunless(retries-=1).z

ruby-on-rails - FactoryGirl create_list 具有不同的值

我正在尝试使用FactoryGirl创建项目列表,但我需要项目不按顺序排列。这就是我所拥有的,但我希望它成为DRYer。规范.rbcontext"threeoutoforder"dobeforedoFactoryGirl.create(:thing,ordering:3)FactoryGirl.create(:thing,ordering:1)FactoryGirl.create(:thing,ordering:2)endit"shouldsortthethingsinorder"doexpect(Thing.all.map(&:ordering)).toeq([1,2,3])ende

ruby - 电子表格 gem : can't create empty workbook

我正在使用https://github.com/zdavatz/spreadsheet版本0.8.3我有代码迭代一个集合并在同一个工作簿中为每个项目创建一个工作表。当集合为空时,执行的代码最终如下所示:io=StringIO.newbook=Spreadsheet::Workbook.newbook.write(io)最后一行加注:TypeError:can'tconvertnilintoIntegerspreadsheet/excel/writer/workbook.rb:636:in`pack'spreadsheet/excel/writer/workbook.rb:636:in`

ruby-on-rails - RoR - Model.all,但没有 created_at 和 updated_at 字段

这个问题在这里已经有了答案:Rails4-Remove"created_at"and"updated_at"fromrender(2个答案)关闭5年前。我是Ruby的新手,所以这个问题对你来说可能看起来很愚蠢,是的。但还是...我有一个模型组,当我运行这个classGroupsController...然后我收到这样的数组响应:[{"id":1020,"name":"НІ-16-1","has_subgroups":true,"created_at":"2017-09-29T10:14:08.000Z","updated_at":"2017-09-29T10:14:08.000Z"}.

ruby-on-rails - Rails 3 find_or_create_by

我正在关注http://railscasts.com/episodes/102-auto-complete-association一切似乎都很好。我正在尝试即时创建发票和客户。它确实有效。一切都很酷。客户所属帐户发票所属帐户发票属于_toclient但是,两个模型(客户和发票)都有一个强制属性:account_id。当我尝试动态创建新客户端时出现错误:client_id:-can'tbeblank我收到此错误的原因是无法创建客户,因为它需要客户模型中的account_id。如果我在客户模型中删除此行validates:account_id,:presence=>true,则会添加发票,

ruby-on-rails - 更改记录的变量 created_at 属性

有没有办法在创建后更改数据库记录“created_at”变量? 最佳答案 当然,从Rails2.3开始,您可以像更改任何其他列一样更改它:从数据库中获取对象,为该列设置值,然后保存它。my_model=MyModel.find(42)my_model.created_at=Date.todaymy_model.save 关于ruby-on-rails-更改记录的变量created_at属性,我们在StackOverflow上找到一个类似的问题: https:/

ruby-on-rails - rails : create scaffold for models to inherit from superclass?

我是Rails的新手,我的脚还很湿,所以如果这是微不足道的或“错误的方式”做事,请原谅我。我想为一些脚手架模型创建一个父类(superclass)。例如,我想为Men和Women创建一个脚手架,但我希望它们都继承自People父类(superclass);Men和Women会从People类继承height和weight等字段。我在哪里/如何定义这个People父类(superclass)?如何通过脚手架定义子类Men和Women? 最佳答案 通常我会这样做:railsgscaffoldPeopletype:stringname:s

ruby-on-rails - Errno::ECONNREFUSED 在 OrdersController#create

好的,Rails新手问一个问题。我在这里是第一次尝试使用Rails。我正在阅读AgileWebDevwithRails第4版。我在我的生产箱上收到这个错误。这在webrick下的开发模式下工作,我收到一封电子邮件发送到我的gmail账户和evrything但是在我的生产模式下的apache盒子上我收到这个错误......Errno::ECONNREFUSEDinOrdersController#createConnectionrefused-connect(2)应用程序跟踪是...app/controllers/orders_controller.rb:58:in`create'app