我正在构建一个Rails应用程序,通过CarrierWave处理文件上传.目前,较大的文件上传会阻塞服务器很长一段时间.我见过像s3-swf-upload-plugin gem这样的解决方案,跳过本地服务器并直接从浏览器发送文件到S3,但这需要对预生成的唯一文件名进行一些修改并将它们与数据库同步.我敢肯定这不会太麻烦,但是Heroku的新Cedar堆栈让我想到将这些长时间运行的请求卸载到在同一个应用程序中运行的node.js实例.我对这些事情并不是很有经验,所以请原谅我的措辞,如果它有点偏.
这样的事情会成为可能吗?您如何配置某些请求(在这种情况下涉及文件上传的请求)将由与主rails应用程序捆绑在同一个heroku存储库中的节点应用程序处理?
我最近采用了一个项目,其Employee
模型需要将人员的可用时间作为属性.
现有表单使用168个复选框来表示一周中的每个小时,并将信息存储为数据库中的七个24位二进制字符串,每个位在该日的相应小时内充当布尔值true或false.
我真的很想过渡到一些更优雅和易于管理的东西,但我还没有能够提出任何与现有实施的灵活性相匹配的简单解决方案.
将时间段存储为开始和结束时间与每天可能有多个时间输入一样繁琐,并且可能使得在特定时间查询可用性更复杂.
在用户界面和数据库结构中是否有处理此类信息的最佳实践?
我有以下目录结构:
project/
.git/
...
app/
...
config/
initializers/
braintree.rb
environments/
production.rb
.gitattributes
Run Code Online (Sandbox Code Playgroud)
我的项目使用两个主要分支,主分支和分段,每个分支跟踪不同的远程(生产和暂存heroku应用程序).
我们的想法是,分段分支随着新功能向前移动,它们被推送到临时远程控制台并进行测试,然后快速转发主分区以匹配分段并推送到生产远程.
这就是我想要做的事情:自由合并这两个分支,同时保持它们的版本braintree.rb
和production.rb
分离.
为了实现这一点,这里是我提出的.gitattributes
(根据ProGit书):
config/initializers/braintree.rb merge=ours
config/environments/production.rb merge=ours
Run Code Online (Sandbox Code Playgroud)
该文件存在于两个分支中.
我遇到的问题是,这似乎对任何事情没有任何影响.每当我在两者之间合并时,无论如何文件都会被更改,我必须再次更改它们.
我有一种感觉,我错过了一些非常明显的东西,但到目前为止它正在逃避我.我知道其他答案涉及创建自定义合并驱动程序,但ProGit书中没有提到这个过程,似乎暗示ours
驱动程序是内置的(我已经在手册页中看到过它,所以我是相对确定它是).我能想到的另一件事就是我以某种方式放.gitattributes
错了地方或弄乱了它的内容,但我找不到太多关于此的信息.我已经尝试将它移动到与文件相同的目录,但无济于事.
如果它有任何帮助,我在OS X上运行git版本1.7.2.任何帮助将不胜感激.