前几天从Heroku支持问下一件事:
我有一个应用程序,需要一个用C++编写的客户端库.我怀疑Heroku可以做到这一点.是否有可能,任何替代方案如何使用Heroku的应用程序安装和使用C++库?
我得到了下一个答案:
我们目前没有办法做到这一点.您需要弄清楚如何打包到您的应用程序并将静态x64二进制文件编译到repo中.
我之前没有这样做过.有没有人有任何好的指针如何将C++库打包到Rails应用程序中,以便它可以与Heroku一起使用?
谢谢.
我刚刚开始使用MongoDB和mongoid.我遇到的最大问题是理解map/reduce功能,以便能够进行一些非常基本的分组等.
可以说我有这样的模型:
class Person
include Mongoid::Document
field :age, type: Integer
field :name
field :sdate
end
Run Code Online (Sandbox Code Playgroud)
该模型将生成以下对象:
#<Person _id: 9xzy0, age: 22, name: "Lucas", sdate: "2013-10-07">
#<Person _id: 9xzy2, age: 32, name: "Paul", sdate: "2013-10-07">
#<Person _id: 9xzy3, age: 23, name: "Tom", sdate: "2013-10-08">
#<Person _id: 9xzy4, age: 11, name: "Joe", sdate: "2013-10-08">
Run Code Online (Sandbox Code Playgroud)
有人可以展示如何使用mongoid map reduce来获取按照sdate字段分组的那些对象的集合吗?并获得那些共享相同sdate字段的人的年龄总和?
我知道这个:http://mongoid.org/en/mongoid/docs/querying.html#map_reduce 但不知何故,它会有助于看到应用于一个真实的例子.在我猜的模型中,代码在哪里,是需要的范围等.
我可以使用mongoid进行简单的搜索,获取数组并手动构建我需要的任何内容,但我猜地图reduce就是这里的方式.我想象在mongoid页面上提到的这些js函数被提供给在内部进行这些操作的DB.从积极的记录来看,这些新概念有点奇怪.
我在Heroku(mongolab)上使用Rails 4.0,Ruby 1.9.3,Mongoid 4.0.0,MongoDB 2.4.6,虽然我有本地2.0,我应该更新.
谢谢.
我四处搜寻,发现这个问题没有答案.
我有一个在Heroku上运行的应用程序.从我的本地机器我通常实现,只是:
git add .
git commit -m "whatever change, I know I can add and commit at the same time..."
git push <the-heroku-repo>
Run Code Online (Sandbox Code Playgroud)
然后它上升并更新Heroku应用程序中的主分支.到现在为止还挺好.
现在.我想要另一台机器自动从Heroku仓库中取出并自行更新.
所以我这样做:
git clone <the-heroku-repo>
Run Code Online (Sandbox Code Playgroud)
这让我得到了应用程序,我可以看到git配置:
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=git@heroku.com:theapp.git
branch.master.remote=origin
branch.master.merge=refs/heads/master
Run Code Online (Sandbox Code Playgroud)
要更新这个新的仓库,我可以做一个拉动:
git pull origin
Run Code Online (Sandbox Code Playgroud)
或者我可以获取和合并:
git fetch origin
git merge origin/master
Run Code Online (Sandbox Code Playgroud)
我的问题
在上面的fetch和merge之间,我可以通过执行以下操作来检查更改:
git log -p master..origin/master
Run Code Online (Sandbox Code Playgroud)
有没有办法找到远程Heroku仓库中的本地主分支和最新版本之间的差异而不提取?只需比较本地和远程并查看更改.我找不到合适的方法.
谢谢.
我有一个Rails应用程序在Fabebook内部作为iframe运行.我使用Koala gem进行FB通信(某些部分也使用js SDK)和Devise作为身份验证基础.
一段时间以来,我发现应用程序在iframe中运行的问题存在一些问题.因此无法设置第三方cookie.对于IE,我使用P3P标头,以某种方式缓解问题.
但整件事情让人很困惑.我在雪豹上.
例如:
使用Safari 5.1.1,我设置了"阻止来自第三方和广告商的cookie".该应用程序工作正常,它可以毫无问题地使用.
使用Chrome 5.0.874(最新更新)选中"阻止设置第三方Cookie"选项,以便我的应用设置的两个主要Cookie(应用程序cookie和fbs_xxxx cookie)无法设置,因此应用程序无法运行用户需要始终进行身份验证.
Opera 11.52没有引用第三方cookie,浏览器设置为"仅接受我访问过的网站的cookie".我的应用程序可以正常使用该设置.
使用Firefox 7.0.1我的应用程序工作,但我找不到任何处理cookie的设置.只是为了删除它们.
显然我的问题在于Chrome,但同样的设置适用于Safari.所以我真的很困惑.
要求用户允许第三方cookie是解决此问题的唯一方法吗?
谢谢.
更新我当前的工作解决方案
我做了一些额外的研究和测试.我确实尝试使用Rails替代会话存储方法.默认情况下,它们存储在cookie中,但您可以将会话数据存储在内存,数据库等中.但这还不够,因为它仍然使用带有指向您选择的备用存储的指针的cookie.
最后,我设置了一些信息,该URL允许我找到当前登录用户的身份,获取用户并使用Devises sign_in方法手动登录该用户.我不太喜欢它,但现在我可以阻止第三方cookie并仍然有效.我稍后会进行更改,而不是在那里有真正的信息,我将获得一个memcached条目的密钥,从那里我将获得用户(之前设置),毕竟只有我的应用程序应该有权访问该memcached服务器.
谢谢.
我正在尝试在MAC上本地设置Rails和Puma的Nginx来练习一些设置.最终我将运行两个应用程序,因此Nginx会对它们进行负载平衡.
对于Rails和Puma,我有下一个.
Procfile用:
web: bundle exec puma -C config/puma.rb
Run Code Online (Sandbox Code Playgroud)
puma.rb:
threads 0,16
workers 1
port 3000
environment "production"
bind "unix:///path_to_my_app/tmp/sockets/puma.sock"
preload_app!
Run Code Online (Sandbox Code Playgroud)
"工头开始"启动应用程序
09:28:15 web.1 | started with pid 31442
09:28:16 web.1 | [31442] Puma starting in cluster mode...
09:28:16 web.1 | [31442] * Version 2.13.4 (ruby 2.2.1-p85), codename: A Midsummer Code's Dream
09:28:16 web.1 | [31442] * Min threads: 0, max threads: 16
09:28:16 web.1 | [31442] * Environment: production
09:28:16 web.1 | [31442] * Process workers: 1
09:28:16 web.1 …Run Code Online (Sandbox Code Playgroud) 在我正在做的Rails 3.2应用程序中,我想创建一些特定于移动设备的视图(和动作处理).所以我创建了一个名为mobile的命名空间.
namespace :mobile do
resources :sessions
resources :areas
end
Run Code Online (Sandbox Code Playgroud)
例如,如果用户使用移动设备进入登录页面,我想使用控制器和我为该命名空间创建的视图.
所以现在我有两种不同的登录方式:
new_mobile_session GET /mobile/sessions/new(.:format) mobile/sessions#new
Run Code Online (Sandbox Code Playgroud)
和
new_session GET /sessions/new(.:format) sessions#new
Run Code Online (Sandbox Code Playgroud)
但是当请求到来时,如果它来自移动设备,我怎么能在请求中添加"移动"命名空间?
即将/ sessions/new更改为/ mobile/sessions/new
我正在使用Rack :: MobileDetect,但我不知道如何使用redirect_to来达到这个目的.
config.middleware.use Rack::MobileDetect, :redirect_to => '/mobile'
Run Code Online (Sandbox Code Playgroud)
或者我应该使用不同的方法?
谢谢.
我刚开始使用 mongodb。我有一个通过 mongoid (4.0.0) 使用 mongodb 的 rails 4.0 应用程序有一个 Company 模型和一个 User 模型。所以用户belongs_to :company和公司has_many :users
当我启动控制台时,我会Company.first得到一个我创建的公司。当我第一次做Company.first.users :
WARN -- : Overwriting existing field 对于所有领域。
然后公司用户按预期。
当我第二次这样做时,没有警告,只有公司用户。
这是为什么?有什么问题吗?我在 Heroku 中有该应用程序,那里也发生了同样的情况。
谢谢。
更新 1
这是模型
class Company
include Mongoid::Document
include Mongoid::Timestamps
field :name
field :token
has_many :users
has_many :feedbacks
has_many :main_categories
has_many :departments
end
Run Code Online (Sandbox Code Playgroud)
更新 2
实际上这些警告只发生在 User 模型中
User.all
W, [2013-10-05T21:30:34.522867 #23442] WARN -- : Overwriting existing field email in class User. …Run Code Online (Sandbox Code Playgroud) 我有3.0.5 rails应用程序,它们正在变老.我正计划升级到Rails 3.2
指南建议先从3.0到3.1再到3.2,这就是我要尝试的.
但是当我进行升级时,我希望保持项目完全正常工作,甚至可能会使用当前的3.0.5应用程序进行生产.
所以基本上我想并行进行升级而不会打扰真正的应用程序.
我将使用运行Snow Leopard的同一台机器.
我使用RVM进行Ruby管理.
有关如何设置此并行升级的任何建议吗?git分支实际上是一个选项,Git分支的概念会有这么多潜在的变化吗?
谢谢
在Ruby中我怎样才能得到:
"b\x81rger"通过提供字符串"bürger".
我需要在Zebra打印机上打印特殊字符,我可以看到"b\x81rger"打印"bürger",但发送"bürger"不会打印正确的字符.