抱歉,如果这是一个RTFM类型的问题,但我仍然是rails/ruby/bundler的新手,我有点困惑.
在我们的config/application.rb文件中有这个捆绑器段:
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
Run Code Online (Sandbox Code Playgroud)
在我们中Gemfile我们使用不同的群体,例如
group :development, :test do
gem "rspec-rails", ">= 2.7.0", :group => [:development, :test]
gem 'shoulda-matchers'
gem 'watchr'
gem 'spork', '~> 1.0rc'
gem 'spectator'
gem 'debugger'
gem 'wirble'
end
Run Code Online (Sandbox Code Playgroud)
但是当我运行RAILS_ENV=production bundle install(或bundle install --deployment)时,它仍然会从开发/测试组中安装宝石......
为什么会发生这种情况或如何使其正常工作?
我正在尝试测试不同的Stripe Subscription失败.具体而言,当最初的卡被接受并且订阅处于活动状态时更新活动订阅时会发生什么,但续订付款被拒绝,或者客户在订阅期间删除了卡.
在Stripe上模拟这个的最佳方法是什么?
我正在使用石墨来收集数据,我想在一段时间内检索某些事件的总数.比如说,每周登录次数.
但是,我只需要总数,而不需要看它是如何随着时间的推移而发展的.
当我使用像那样的东西时,from=-1w&target=summarize(stats.events.login.success,"1w")&format=json我仍然得到两个数据点,而不是一个.
有没有办法从函数中获取单个数据点summarize?或使用不同的函数返回单个数据点值?
我最近遇到了一些奇怪的行为,需要检查一下我的理解.
我在模型中使用了一个简单的过滤器,然后迭代结果.
例如
allbooks = Book.objects.filter(author='A.A. Milne')
for book in allbooks:
do_something(book)
Run Code Online (Sandbox Code Playgroud)
奇怪的是,它只返回了部分书籍清单.
但是,当使用相同的代码并使用iterator()时,这似乎运行良好.
即
for book in allbooks.iterator():
do_something(book)
Run Code Online (Sandbox Code Playgroud)
知道为什么??
ps我确实浏览了django文档,但看不到qeuryset如何在其他任何地方缓存...
iterator()计算QuerySet(通过执行查询)并在结果上返回迭代器.QuerySet通常在内部缓存其结果,以便重复的评估不会导致其他查询;iterator()而是直接读取结果,而不在QuerySet级别进行任何缓存.对于返回大量对象的QuerySet,这通常会带来更好的性能并显着降低内存请注意,
iterator()在已经评估过的QuerySet 上使用将强制它再次进行评估,重复查询.
这是关于改进rails控制台加载时间的上一个问题的后续内容.
第一个伟大的建议是弄清楚哪些宝石需要太长时间.
下一个答案,建议稍后使用:require => nil并加载这些宝石.
然而,对于一些宝石,如何在不破坏事物的情况下完成此任务并不完全清楚.这是我们"最大的罪犯"的列表,我想知道是否有人可以建议最好的方法只在必要时加载它们?
require gon: 2.730000 (2.870059)
require omniauth-openid: 1.410000 (1.503858)
require cancan: 2.640000 (2.707467)
require fog: 2.730000 (2.846530)
require activeadmin: 3.650000 (3.923877)
Run Code Online (Sandbox Code Playgroud)
当然还有更多需要大约1秒或更短的时间,这也加起来......但至少删除大的东西会改善一些事情.
我正在尝试contantize使用ruby/rails中的远程代码执行漏洞.
我知道能够为服务器提供任何类名可能是有潜在危险的,但我想知道这本身是否危险.
例如,如果rails控制器代码看起来像这样(即在实例化对象上执行硬编码方法):
klass = params[:class].classify.constantize
klass.do_something_with_id(params[:id]) if klass.respond_to?('do_something_with_id')
Run Code Online (Sandbox Code Playgroud)
这段代码容易受到攻击 或者只是结合能够同时指定要在类上调用的方法?
我们遇到一个爬虫的奇怪问题.有时它会Rails FATAL在某些请求上抛出错误,但跟踪非常有限并且看起来像这样
[2014-07-01 18:16:37] FATAL Rails :
ArgumentError (invalid %-encoding (c ^ FK+ 9u$_ t Kl
?E! =k \ ?* ?>c+<O ?o ?> C R! 2 D (5 x q#!` 4 p |8 I E
:+ H^9`^ # Vo{ >
=[z )):
lib/locale_middleware.rb:14:in `call'
Run Code Online (Sandbox Code Playgroud)
爬虫用户代理是
Mozilla/5.0 (compatible; EasouSpider; +http://www.easou.com/search/spider.html)
我们可以要求它停止通过我们爬行robots.txt,但是如果可能的话,最好处理根本原因并且不会因为这些请求而失败500.
我们也无法真正重现这种请求,因此有关如何生成类似请求的任何建议都会有很大帮助.
我们在Ubuntu 12.04上使用Rails 3.2.19,Unicorn.这是我们的locale_middleware.rb
我们开始在日志中看到一些奇怪的错误,这些错误通常在使用OpenSSL未正确编译ruby时出现.但它不一致 ......
我们收到的错误如下:
RuntimeError: Unsupported digest algorithm (SHA256).(还有其他摘要,如sha1).示例错误跟踪Faraday::SSLError (SSL_CTX_new: (null)) 示例错误跟踪我们设法在使用service unicorn start或启动独角兽时重现它systemctl start unicorn.但只有一些要求......不是全部.一些使用OpenSSL的请求确实有效.其他人没有.
但是,当我们开始独角兽时/etc/init.d/unicorn start,一切都顺利进行.(澄清一下,systemd启动相同的/etc/init.d脚本)
我们尝试调试ENV变量,用户权限,文件/目录所有权,重新编译ruby,从头开始引导新服务器......似乎没有任何帮助.
如果这有帮助:
我们缺少什么?我们可以尝试什么,我们没有想到的?
/etc/systemd/systemapt(显式删除,以防平台预先安装)并从头开始编译.我们目前运行2.3.4并尝试2.3.6.手动编译或使用ruby-build编译.不rbenv,也不是RVM.apt(我们apt-get install -y autoconf bison build-essential libssl-dev …在IE上异步加载twitter小部件时遇到一个奇怪的问题.它加载得很好,但由于某种原因不适用于IE(7,8,9)上的任何样式(颜色,背景为空白/默认).
以标准方式加载脚本也适用于IE.
代码看起来像这样,适用于所有浏览器(包括IE,但没有样式)
<div id="twitter_div"></div>
<script>
jQuery(window).load(function () {
jQuery('<link rel="stylesheet" type="text/css" href="http://widgets.twimg.com/j/2/widget.css" >').appendTo("head");
jQuery.getScript('http://widgets.twimg.com/j/2/widget.js', function () {
var twitter = new TWTR.Widget({
id: 'twitter_div',
version: 2,
type: 'profile',
rpp: 4,
interval: 6000,
width: 'auto',
height: 300,
theme: {
shell: {
background: '#add459',
color: '#382638'
},
tweets: {
background: '#ffffff',
color: '#141114',
links: '#4aed05'
}
},
features: {
scrollbar: false,
loop: false,
live: false,
hashtags: true,
timestamp: true,
avatars: false,
behavior: 'all'
}
}).render().setUser('chucknorris').start();
})
})
</script>
Run Code Online (Sandbox Code Playgroud)
你可以在这个链接上看到这个. …
ruby ×2
actor ×1
architecture ×1
asynchronous ×1
bundler ×1
css ×1
django ×1
encoding ×1
erlang ×1
fatal-error ×1
graphite ×1
init.d ×1
iterator ×1
javascript ×1
jquery ×1
openssl ×1
performance ×1
scala ×1
security ×1
simulate ×1
systemd ×1
testing ×1
unicorn ×1
web-crawler ×1