小编lar*_*hao的帖子

为什么下降时范围不起作用?

为什么会(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)

ruby range

35
推荐指数
3
解决办法
1万
查看次数

使用pjax时在哪里放置页面初始化javascript?

大多数时候,我会$(document).ready在页面上放一些javascript代码来做一些初始化的事情,比如事件绑定等.

但现在我想对我的一些页面使用pjax https://github.com/defunkt/jquery-pjax.

使用pjax,因为只有页面的一部分被刷新,所以$(document).ready不会再被调用.

我可以手动触发事件的初始化脚本pjax:end,但我也想知道是否有更好的解决方案.

谢谢.

javascript pjax

17
推荐指数
2
解决办法
7808
查看次数

Paperclip post process - 如何使用jpegoptim/optpng压缩图像

我想使用jpegoptimoptipng压缩用户通过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?或者我只是检查扩展字符串是否包含在该字符串中是否安全?

paperclip ruby-on-rails-3

13
推荐指数
1
解决办法
3222
查看次数

在Rails 3.2中实现HTML5服务器端事件的示例

我正在尝试将HTML5 Server-Side-Event引入我的Rails 3.2项目.我在Google.com上进行了一些搜索,但大多数示例都使用的是php.Rails上只有一个例子正在使用Goliath,我没有使用它.

我正在使用Thin我的开发和部署passenger.我认为这对于SSE的文本流是有效的.Rails 3.2上是否有任何示例供参考?

html5 ruby-on-rails-3

11
推荐指数
1
解决办法
2116
查看次数

Rails 3.1资产在生产中没有指纹

刚刚开始适应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)

ruby-on-rails-3.1 asset-pipeline

9
推荐指数
1
解决办法
3674
查看次数

Ruby - 发生异常:[Mysql2 :: Error]关闭MySQL连接

我有一个Rails应用程序现在只在内部运行,所以现在没有那么多的访问.并且有两个resque工作器几乎不能从Web获取数据并插入到mysql数据库中,每个插入后都会睡10秒钟.

我们在VPS上运行它.在每5个小时后,我会遇到一个异常Exception occured: [Mysql2::Error] closed MySQL connection".

导致异常的原因是什么?现在游泳池的大小是5.

如果我提高池大小并reconnect: true在我的指定中指定它会有帮助database.yml吗?

mysql resque ruby-on-rails-3

9
推荐指数
1
解决办法
7130
查看次数

rspec-rails不在spec/lib下运行测试

我把我的规格放在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)

rspec rspec-rails

8
推荐指数
1
解决办法
4420
查看次数

为什么ActionDispatch :: Routing :: RouteSet需要这么长时间

我在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

8
推荐指数
1
解决办法
690
查看次数

Ruby - 当我打印字符串时如何保持\n

\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的回答正是我想要的.多谢你们.

ruby

7
推荐指数
1
解决办法
1万
查看次数

如何正确处理Rails中的ActiveRecord :: RecordNotUnique

我试图在我的Rails项目中使用唯一索引强制唯一性.我发现了令人困惑的事情.

就像在我的网站上注册用户一样,您需要提供电子邮件地址和昵称,两者都必须是唯一的.我为电子邮件和昵称添加了唯一索引.当重复来临时,我救了异常ActiveRecord::RecordNotUnique,现在这里是问题,我怎么知道哪个字段导致异常?

非常感谢您的帮助.

ruby ruby-on-rails exception

6
推荐指数
1
解决办法
4015
查看次数