我正在使用设计并有一个快速的问题.如何重定向:authenticate_user!before_filter到用户注册页面而不是登录?我一直在浏览https://github.com/plataformatec/devise/blob/master/lib/devise/controllers/helpers.rb但是没有太多运气找出解决方案.
我正在寻找在Heroku上的Rails应用程序中上传文件的最佳方法.设置:Rails 3,Carrierwave,Heroku,Mongoid
问题:偶尔,当用户上传不同大小的文件时,图像将保存到数据库中,但在Amazon S3上无法以任何形式提供.这导致图像显示为前端的缺失图像占位符.
可能的原因:图像已上传,但处理过于耗时,并且由于Heroku 30秒的硬请求时间限制请求超时,或者图像尺寸过大,并且在尝试上传时,请求因H12错误而超时.
解决方案:实施carrierwave-direct并将处理移至后台
阻止程序:CarrierWaveDirect不是CarrierWave的替代品.实际上,它在上传图像的过程中引入了一些重大变化,特别是在db记录持久性的同时不上传图像.此外,它不适用于我现有的目录结构,因此将现有文件移动到新结构似乎过于艰巨.CarrierWaveBackgrounder与嵌入式文档不兼容.
问题:我该怎么做?示例代码,如果需要,但试图考虑这个,而不仅仅是编码.
使用Rails 3.2和Mongoid 2.4.我有一个遗留模型,即组织,embeds_many organization_members.它看起来像这样:
class Organization
include Mongoid::Document
embeds_many :organization_members
end
class OrganizationMembers
include Mongoid::Document
embedded_in :organization
end
Run Code Online (Sandbox Code Playgroud)
我想要做的是更改我用来访问organization.organization_members成员到organization.members的方法.这就是我所做的:
class Organization
include Mongoid::Document
embeds_many :members, class_name:"OrganizationMember"
end
class OrganizationMembers
include Mongoid::Document
embedded_in :organization
end
Run Code Online (Sandbox Code Playgroud)
但是,现在organization.members返回一个空数组,organization.organization_members返回以前的文档,即使它没有定义church_members.
如何说服Mongoid使用以前的嵌入式集合名称并通过新的方法调用访问它(组织#成员而不是组织#organization_members)?