为什么会(1..5).each迭代1,2,3,4,5,但(5..1)不会?它返回Range.
1.9.2p290 :007 > (1..5).each do |i| puts i end
1
2
3
4
5
=> 1..5
1.9.2p290 :008 > (5..1).each do |i| puts i end
=> 5..1
Run Code Online (Sandbox Code Playgroud) 大多数时候,我会$(document).ready在页面上放一些javascript代码来做一些初始化的事情,比如事件绑定等.
但现在我想对我的一些页面使用pjax https://github.com/defunkt/jquery-pjax.
使用pjax,因为只有页面的一部分被刷新,所以$(document).ready不会再被调用.
我可以手动触发事件的初始化脚本pjax:end,但我也想知道是否有更好的解决方案.
谢谢.
我想使用jpegoptim或optipng压缩用户通过Paperclip上传的图像.
我有一个Paperclip模型配置为:
has_attached_file :image,
:styles => {:thumb => '50x50>', :preview => '270x270>' },
:url => "/system/:class/:attachment/:id/:basename_:style.:extension",
:path => ":rails_root/public/system/:class/:attachment/:id/:basename_:style.:extension"
Run Code Online (Sandbox Code Playgroud)
问题1:是否可以压缩用户上传的原始图像,然后让Paperclip调整大小,因此只有一个压缩过程?怎么做?
问题2:我将通过after_post_process回调来完成它,我可以从中获取三个文件的所有实例,image.queued_for_write并且我想通过文件扩展名触发jpegoptim/optipng,但是当我使用时current_format = File.extname(file.path),我会得到类似的东西:.jpg20120508-7991-cqcpf2.有没有得到扩展字符串jpg?或者我只是检查扩展字符串是否包含在该字符串中是否安全?
我正在尝试将HTML5 Server-Side-Event引入我的Rails 3.2项目.我在Google.com上进行了一些搜索,但大多数示例都使用的是php.Rails上只有一个例子正在使用Goliath,我没有使用它.
我正在使用Thin我的开发和部署passenger.我认为这对于SSE的文本流是有效的.Rails 3.2上是否有任何示例供参考?
刚刚开始适应rails 3.1,我开始编写coffeescript和sass,一切都在开发中运行良好.当我在生产中运行服务器时,我只得到:
<link href="/stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
<script src="/javascripts/application.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)
在页面的源代码中,没有生成哈希码,并且两个资产都有路由错误:
Routing Error
No route matches [GET] "/stylesheets/application.css"
Run Code Online (Sandbox Code Playgroud)
这是什么原因?我忘记做某事吗?
环境/ production.rb中的设置:
# Settings specified here will take precedence over those in config/application.rb
# Code is not reloaded between requests
config.cache_classes = true
# Full error reports are disabled and caching is turned on
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false
# Compress JavaScripts and …Run Code Online (Sandbox Code Playgroud) 我有一个Rails应用程序现在只在内部运行,所以现在没有那么多的访问.并且有两个resque工作器几乎不能从Web获取数据并插入到mysql数据库中,每个插入后都会睡10秒钟.
我们在VPS上运行它.在每5个小时后,我会遇到一个异常Exception occured: [Mysql2::Error] closed MySQL connection".
导致异常的原因是什么?现在游泳池的大小是5.
如果我提高池大小并reconnect: true在我的指定中指定它会有帮助database.yml吗?
我把我的规格放在lib文件夹下的模块中spec/lib,但我既rspec没有运行也没有得到测试spec spec/的规格spec/lib.
有什么需要配置吗?我正在使用rails 3.2.0,以下是我的spec_helper.rb
require 'rubygems'
require 'spork'
#uncomment the following line to use spork with the debugger
#require 'spork/ext/ruby-debug'
Spork.prefork do
# Loading more in this block will cause your tests to run faster. However,
# if you change any configuration or code from libraries loaded here, you'll
# need to restart spork for it take effect.
# These lines are needed for SimpleCov to generate a complete …Run Code Online (Sandbox Code Playgroud) 我在Rails 4.2.1之上使用Grape为我们的应用程序提供API.
但是当我今天检查Newrelic的性能时,我发现RackApp Proc#call并且Grape API::Root#call占用了大量的时间.(见截图)

然后我尝试记录中间件消耗的时间rack_timer,发现ActionDispatch::Routing::RouteSet大部分时间占用了:
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 67.12579727172852 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 101.51457786560059 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 84.18059349060059 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 1236.2565994262695 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 8.124351501464844 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 55.65309524536133 ms
Run Code Online (Sandbox Code Playgroud)
甚至有些情况需要500毫秒到1000毫秒ActionDispatch::Routing::RouteSet.我怎么能找到这个问题,怎么知道我在Rails路线上做错了什么?
非常感谢您的帮助.
performance ruby-on-rails ruby-grape newrelic ruby-on-rails-4
\n当我在红宝石中打印字符串时,我想保留,
就像现在一样,如果我使用puts或者print,\n最终将换行:
pry(main)> print "abc\nabc"
abc
abc
Run Code Online (Sandbox Code Playgroud)
有没有办法让红宝石打印出来像:abc\nabc?
UPDATE
对不起,也许我没有说清楚.我正在调试我的正则表达式,所以当我输出一个字符串时,如果a \n显示为a \n而不是换行符,我会更容易检查.所以@slivu的回答正是我想要的.多谢你们.
我试图在我的Rails项目中使用唯一索引强制唯一性.我发现了令人困惑的事情.
就像在我的网站上注册用户一样,您需要提供电子邮件地址和昵称,两者都必须是唯一的.我为电子邮件和昵称添加了唯一索引.当重复来临时,我救了异常ActiveRecord::RecordNotUnique,现在这里是问题,我怎么知道哪个字段导致异常?
非常感谢您的帮助.
ruby ×3
exception ×1
html5 ×1
javascript ×1
mysql ×1
newrelic ×1
paperclip ×1
performance ×1
pjax ×1
range ×1
resque ×1
rspec ×1
rspec-rails ×1
ruby-grape ×1