我希望能够在脚本化任务中的远程服务器上运行单个查询.
例如,直觉上,我会想象它会像:
mysql -uroot -p -hslavedb.mydomain.com mydb_production "select * from users;"
Run Code Online (Sandbox Code Playgroud) 假设您在用户控制器中,并且想要获得show请求的json响应,那么如果您可以在views/users/dir中创建一个名为show.json的文件并且在您的用户#show之后创建一个文件会很好动作完成后,呈现文件.
目前你需要做一些事情:
def show
@user = User.find( params[:id] )
respond_to do |format|
format.html
format.json{
render :json => @user.to_json
}
end
end
Run Code Online (Sandbox Code Playgroud)
但是如果你可以创建一个自动渲染的show.json文件就好了:
def show
@user = User.find( params[:id] )
respond_to do |format|
format.html
format.json
end
end
Run Code Online (Sandbox Code Playgroud)
这样可以减轻我的痛苦,并且当我在控制器中渲染我的json时,它会消除我得到的那种可怕的肮脏感觉
通过传递.pem文件使用OpenSSL :: PKey :: RSA模块构建公钥时,响应的原因是什么:
OpenSSL::PKey::RSAError: Neither PUB key nor PRIV key:: nested asn1 error
from /Users/Matt/projects/placepop/lib/apn.rb:48:in `initialize'
from /Users/Matt/projects/placepop/lib/apn.rb:48:in `new'
from /Users/Matt/projects/placepop/lib/apn.rb:48:in `open'
from (irb):1
Run Code Online (Sandbox Code Playgroud)
这是来源:
cert = File.join(rails_root, 'config', 'apns', 'sandbox-cert.pem')
APN_CONFIG = { :delivery => {
:host => 'gateway.sandbox.push.apple.com',
:cert => cert,
:passphrase => "",
:port => 2195 },
:feedback => {
:host => 'feedback.sandbox.push.apple.com',
:port => 2196,
:passphrase => "",
:cert => cert} }
options = APN_CONFIG[:delivery].merge(options)
cert = File.read(options[:cert])
ctx = OpenSSL::SSL::SSLContext.new
ctx.key = OpenSSL::PKey::RSA.new(cert, …Run Code Online (Sandbox Code Playgroud) 在安装提供类似问题的宝石时,我经常遇到问题:
有谁知道这源于什么?我已经看到了几个不同的案例,但仍然没有学到究竟是什么导致它.
$ sudo rake gems:install --trace
(in /u/app/releases/20100213003957)
** Invoke gems:install (first_time)
** Invoke gems:base (first_time)
** Execute gems:base
** Invoke environment (first_time)
** Execute environment
rake aborted!
cannot remove Object::ClassMethods
/u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:603:in `remove_const'
/u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:603:in `remove_constant'
/u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:603:in `instance_eval'
/u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:603:in `remove_constant'
/u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:549:in `new_constants_in'
/u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:549:in `each'
/u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:549:in `new_constants_in'
/u/app/releases/20100213003957/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require'
/u/app/releases/20100213003957/vendor/rails/railties/lib/tasks/misc.rake:4
/usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `call'
/usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `execute'
/usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `each'
/usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `execute'
/usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:578:in `invoke_with_call_chain'
/usr/lib64/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:571:in `invoke_with_call_chain'
/usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:564:in `invoke'
/u/app/releases/20100213003957/vendor/rails/railties/lib/tasks/gems.rake:17
/usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `call'
/usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:617:in `execute'
/usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `each'
/usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:612:in `execute'
/usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:578:in `invoke_with_call_chain'
/usr/lib64/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/lib64/ruby/gems/1.8/gems/rake-0.8.4/lib/rake.rb:571:in `invoke_with_call_chain' …Run Code Online (Sandbox Code Playgroud) 我目前正在Dreamhost上试图运行Rails 2.3.5应用程序.
这是情况,Dreamhost的服务器安装了Rails 2.2.2.当然,我无法更新共享主机的rails版本,因此我在供应商中冻结了我的Rails.Rails 2.3.5需要机架v1.0.1 gem.Dreamhost使用机架v1.0.0 gem.所以当我尝试定义:
config.gem "rack", :version => "1.0.1"
Run Code Online (Sandbox Code Playgroud)
我明白了:
can't activate rack (~> 1.0.1, runtime) for [], already activated rack-1.0.0 for []
Run Code Online (Sandbox Code Playgroud)
所以我真正需要做的是绕过我的应用程序使用1.0.1的请求,并使用Dreamhost的1.0.0.有谁知道如何配置这个?它甚至可能吗?谢谢您的帮助.
我有一个ruby脚本打开与Apple的推送服务器的连接并发送所有待处理的通知.我看不出任何原因,但是当Apple断开我的脚本时,我发现管道错误.我写了我的脚本以适应这种情况,但我宁愿找出它为什么会这样,所以我可以首先避免它.
它不会在特定通知上始终断开连接.它在某个字节传输大小时不会断开连接.一切似乎都是零星的.您可以在单个连接上发送的数据传输或有效负载计数是否存在某些限制?看到人们的解决方案始终打开一个连接,我认为这不是问题.我看到3次通知后连接断开,我看到它在14次通知后丢失了.我从来没有见过它超过14岁.
还有其他人遇到过这类问题吗?怎么办呢?
我不知道如何为一个方法重载<<运算符.这就是我认为它会起作用的方式:
def roles<<(roles)
...
end
Run Code Online (Sandbox Code Playgroud)
然而,这会引发错误.有什么建议?