Heroku最近减少了与生产数据库的可用连接数(从500到60).打开的连接消耗大量内存并导致问题,因此这似乎是朝着正确方向迈出的一步.
我的应用程序有超过100个并发进程,它们同时访问数据库.Heroku建议使用https://github.com/gregburek/heroku-buildpack-pgbouncer来解决此问题.
我无法找到关于如何做到这一点的适当指南.我能够安装并启用buildpack,但我不知道这些配置变量的作用以及它们如何工作.使用默认配置,我会遇到大量ActiveRecord::ConnectionTimeoutError错误.
有没有人有这方面的经验,如果可以请提供有关如何正确执行此操作以及如何配置需要配置的所有内容的分步指南?
我应该如何从更新现有的应用程序rails 4.0来rails 4.1.我知道我必须更新宝石.是否还有其他任何配置可在应用程序中修改.
我听到很多程序员认为Ruby与php相比缺乏性能.所以我试着找出背后的真实情况我看到这篇文章为什么人们说Ruby很慢?.
我发现有很多文章,但是大多数文章都太老了,不能在当前场景中考虑过,因为红宝石2.1已经透露过.作为Ruby on rails开发人员,我喜欢它.但是想知道这是真的,如果是,我们怎样才能克服红宝石中的这个瓶颈.
所以请把你的想法放在那里
我可以选择使用嵌套属性创建用户。我只想跳过确认电子邮件。但
class ShipperOrder < ActiveRecord::Base
belongs_to :user
accepts_nested_attributes_for :user
end
class User < ActiveRecord::Base
has_many :shipper_orders
end
Run Code Online (Sandbox Code Playgroud)
控制器
class ShipperOrdersController < ApplicationController
def create
@shipper_order = ShipperOrder.new(order_params)
if @shipper_order.save
flash[:notice] = "Shipper order created"
else
flash.now[:alert] = @shipper_order.errors.full_messages.join(", ")
render :error
end
end
private
def order_params
params.require(:shipper_order).permit({user_attributes: [:first_name, :email,
:last_name,:mobile_phone, :password, :terms_of_service, :password_reset_required
]}, :description)
end
end
Run Code Online (Sandbox Code Playgroud)
现在我正在创建一个订单,如果用户想将此订单分配给数据库中不存在的用户。然后我在nested_attributes 的帮助下创建该用户。一切正常。我只想禁用此类用户的确认电子邮件。