小编Don*_*lio的帖子

imagemagick 缩小 pdf 的大小

我需要自动减小某些用户上传的 pdf 的大小,以便可以通过电子邮件发送它们。

我有一个小 imagemagick oneliner 可以减少我的尺寸:

convert -density 120 -quality 10 -compress jpeg original.pdf output.pdf
Run Code Online (Sandbox Code Playgroud)

基本上以 jpg 格式导出 pdf 的每一页,更新密度和质量,并将页面重新打包到新的 PDF 中。

这工作得很好,除了使用这个命令有时文件最终会变大,我需要重新运行调整密度和质量以获得最小的大小,使 pdf 文档中的文本仍然可读。

我不确定如何自动化它。我想使用识别来获取文件的特征(高度宽度密度......)并执行诸如一半的数字或类似的操作。但我正在努力获取有关文件的信息。

有什么建议么?

谢谢,

pdf imagemagick imagemagick-convert

14
推荐指数
1
解决办法
9373
查看次数

输入类型=数字无法在手机上插入负数

我正在我的手机上测试我的应用程序(带有chrome的三星galaxy note II)我的数字输入字段有问题.

在我的应用程序中,这些字段可以接受负数,并且在浏览器上它很好,因为我有-按钮和箭头滑块(来自html5)来选择数字.

在手机上虽然没有渲染滑块,浏览器识别输入类型=数字,只是渲染一个简化的数字键盘,不包含-标志,所以我没有看到插入负数的方法我希望.

我的应用程序使用twitter bootstrap 2.3.2与jquery,我不知道如何解决这个问题.

这是我的一个输入字段的代码在我的计算机上正常工作,但无法在我的手机上正确使用它们:

<input class="input-mini" data-type="distance_price" id="distance" label="false" name="distance" step="0.1" type="number" max="-0.1">
Run Code Online (Sandbox Code Playgroud)

我的手机截图

在图像中,您可以看到红色字段是如何被标记为错误的,因为它需要为负数,但我的键盘不允许我插入符号.包括-标志.任何线索?

javascript html5 android ruby-on-rails twitter-bootstrap

11
推荐指数
2
解决办法
9903
查看次数

capistrano 3.0.1当使用capistrano/rails/assets时,不知道如何构建任务'starting'

尝试使用Capistrano 3.0.1进行部署时出现以下错误:

cap aborted!
Don't know how to build task 'starting'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/dsl/task_enhancements.rb:5:in `before'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-rails-1.1.0/lib/capistrano/tasks/assets.rake:9:in `block in <top (required)>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-rails-1.1.0/lib/capistrano/tasks/assets.rake:8:in `<top (required)>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-rails-1.1.0/lib/capistrano/rails/assets.rb:1:in `load'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-rails-1.1.0/lib/capistrano/rails/assets.rb:1:in `<top (required)>'
/Users/user/Documents/rails/shop/Capfile:18:in `require'
/Users/user/Documents/rails/shop/Capfile:18:in `<top (required)>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/application.rb:22:in `load_rakefile'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/application.rb:12:in `run'
/Users/user/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/bin/cap:3:in `<top (required)>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/bin/cap:23:in `load'
/Users/user/.rvm/gems/ruby-2.0.0-p353/bin/cap:23:in `<main>'
/Users/user/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `eval'
/Users/user/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `<main>'
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

当我取消注释需要行以加载资产并在Capfile中执行迁移时,这似乎已经开始了:

  # Load DSL and Setup Up Stages
  require 'capistrano/setup'

  # Includes tasks from other gems included in your Gemfile
  #
  # require 'capistrano/rvm'
  # require …
Run Code Online (Sandbox Code Playgroud)

ruby capistrano ruby-on-rails ruby-on-rails-3 asset-pipeline

7
推荐指数
2
解决办法
8217
查看次数

与Rails 5做出反应,使用axios获得CSRF错误

我正在尝试使用react_on_railsreact和rails构建我的第一个示例.我正在尝试将一些数据保存到rails后端,使用axios for ajax.

这是我的代码:

import store from "../store/helloWorld";
import axios from "axios";

export const SAVE_NAME = "SAVE_NAME";

export function saveNameAction(name) {
  return {
    type: SAVE_NAME,
    name
  };
}

export function saveName(name) {
  axios
    .post("/hello_world", saveNameAction(name))
    .then(function(response) {
      console.log(response);
    })
    .catch(function(error) {
      console.log(error);
    });
}
Run Code Online (Sandbox Code Playgroud)

和组件:

import PropTypes from "prop-types";
import React from "react";
import * as actions from "../actions/helloWorld";

export default class HelloWorld extends React.Component {
  static propTypes = {
    name: PropTypes.string.isRequired // this is passed from the …
Run Code Online (Sandbox Code Playgroud)

ajax ruby-on-rails csrf reactjs axios

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

厨师食谱未能通过ohai undefined方法`[]'为nil:NilClass

我正在制作一个厨师食谱,在我的流浪盒上设置一个带有nginx postgresql和独角兽的香草ubuntu 12.04.2,但是我遇到了nginx的麻烦,有一个例外

undefined method `[]' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

安装它时,似乎与ohai配置有关.

我发布了我在这里的所有内容:

https://github.com/DonGiulio/mychef
Run Code Online (Sandbox Code Playgroud)

这是chef-solo的输出:

Starting Chef Client, version 11.4.0
Compiling Cookbooks...

================================================================================
Recipe Compile Error in /var/chef/cookbooks/nginx/recipes/source.rb
================================================================================


NoMethodError
-------------
undefined method `[]' for nil:NilClass


Cookbook Trace:
---------------
  /var/chef/cookbooks/nginx/recipes/ohai_plugin.rb:27:in `from_file'
  /var/chef/cookbooks/nginx/recipes/source.rb:42:in `from_file'


Relevant File Content:
----------------------
/var/chef/cookbooks/nginx/recipes/ohai_plugin.rb:

 20:  #
 21:  
 22:  ohai 'reload_nginx' do
 23:    plugin 'nginx'
 24:    action :nothing
 25:  end
 26:  
 27>> template "#{node['ohai']['plugin_path']}/nginx.rb" do
 28:    source 'plugins/nginx.rb.erb'
 29:    owner  'root'
 30:    group  'root'
 31:    mode   '0755'
 32:    notifies :reload, …
Run Code Online (Sandbox Code Playgroud)

nginx cookbook chef-infra ohai-gem

5
推荐指数
1
解决办法
8666
查看次数

Nginx 正在侦听端口 80 或 443 但没有响应

我的服务器工作得很好,直到几个小时前,不知何故它停止接听电话,

我认为独角兽工作正常(curl localhost:3000 有效 - 其中 3000 是独角兽的端口)

我跑:

sudo netstat -anltp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      5664/mysqld     
tcp        0      0 my.public.ip.address:80        0.0.0.0:*               LISTEN      6825/nginx      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2737/sshd       
tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      6389/unicorn.rb -E 
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      2934/master     
tcp        0      0 my.public.ip.address:443       0.0.0.0:*               LISTEN      6825/nginx      
tcp        0      0 my.public.ip.address:22        a.different.ip.number:49372      ESTABLISHED 3433/sshd: user
tcp …
Run Code Online (Sandbox Code Playgroud)

ssl http nginx unicorn

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

paperclip在哪里放置missing.png默认图像?

我在我的应用程序中使用paperclip,但我的控制器测试因以下原因而失败:

BlogsControllerTest#test_should_update_blog:
Paperclip::AdapterRegistry::NoHandlerError: No handler found for "/images/original/missing.png"
    /Users/user/.rvm/gems/ruby-2.1.2/gems/paperclip-3.5.2/lib/paperclip/io_adapters/registry.rb:19:in `handler_for'
    /Users/user/.rvm/gems/ruby-2.1.2/gems/paperclip-3.5.2/lib/paperclip/io_adapters/registry.rb:29:in `for'
    /Users/user/.rvm/gems/ruby-2.1.2/gems/paperclip-3.5.2/lib/paperclip/attachment.rb:96:in `assign'
Run Code Online (Sandbox Code Playgroud)

我不确定将missing.png图像放在我的代码中的哪个位置,我试过public/assets/original/missing.png但它似乎没有管理它.

还有一些奇怪的事情:我有一个paperclip.rb初始化线:

Paperclip::Attachment.default_options[:default_url] = "/images/default_image.png"
Run Code Online (Sandbox Code Playgroud)

但仍然是应用程序正在寻找 missing.png

更新:好的我认为在模型中覆盖了default_url:

has_attached_file :image, styles: { big: "1200X630>", thumb: "150X150" }, default_url: "/images/:style/missing.png"
Run Code Online (Sandbox Code Playgroud)

我仍然不知道在哪里放置图像.

UPDATE2:

整个回形针初始化程序:

Paperclip::Attachment.default_options[:styles] = { thumb: "100x100#",  small: "200x200#",  screen: "800x600#"}
Paperclip::Attachment.default_options[:default_url] = "/images/missing.png"
Paperclip::Attachment.default_options[:path] = ":rails_root/public/assets/:class/:attachment/:id_partition/:style/:hash.:extension"
Paperclip::Attachment.default_options[:url] = "/assets/:class/:attachment/:id_partition/:style/:hash.:extension"
Paperclip::Attachment.default_options[:hash_secret] = "XXXXXXXXXXXXXXXXX"
Paperclip.registered_attachments_styles_path = "public/assets/paperclip_attachments2.yml"
Run Code Online (Sandbox Code Playgroud)

UPDATE3:检查实际上升代码回形针代码,异常是由上升这段代码,这基本上是测试所有可用的适配器,看起来像最接近我想要做的是一个fileAdapter在此进行测试,如果传递的字符串是一个文件.

发现这一点我感到很惊讶,我可能会在这里遇到问题.如果我将初始化程序行交换为:

Paperclip::Attachment.default_options[:default_url] = File.new "public/images/missing.png"
Run Code Online (Sandbox Code Playgroud)

然后异常是不同的:

BlogsControllerTest#test_should_update_blog:
NoMethodError: undefined …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails image paperclip

5
推荐指数
2
解决办法
9905
查看次数

rails test仅在get请求中传递CSRF令牌

我正在尝试对我的控制器进行单元测试,每个使用该get请求的测试都能正常工作,但我使用其他调用的测试(delete在destroy中,post在create和put更新中)都失败了:

WARNING: Can't verify CSRF token authenticity
Completed 401 Unauthorized in 2.5ms
Run Code Online (Sandbox Code Playgroud)

例如,这是对破坏的测试:

  test "should destroy blog" do
    assert_difference('Blog.count', -1) do
      delete :destroy, id: @blog
    end

    assert_redirected_to blogs_path
  end
Run Code Online (Sandbox Code Playgroud)

这不起作用

这是show的测试,它起作用:

  test "should show blog" do
    get :show, id: @blog
    assert_response :success
  end
Run Code Online (Sandbox Code Playgroud)

在破坏测试中,设计authenticate_user!只是将我重定向到sign_in页面,测试失败.

testing unit-testing ruby-on-rails csrf devise

4
推荐指数
1
解决办法
2277
查看次数

在HTTPS中设计confirmation_url

我的网站完全是 SSL,所以我还希望由 devise (3.2.2) 生成用于电子邮件验证的网址https://....

目前,url 是通过以下方式生成的:

confirmation_url(@resource, :confirmation_token => @token)
Run Code Online (Sandbox Code Playgroud)

它会产生漂亮的网址,例如:

http://example.com/users/confirmation?confirmation_token=zqfHS35ckLQZscSbsgMm
Run Code Online (Sandbox Code Playgroud)

我希望网址是

https://example.com/users/confirmation?confirmation_token=zqfHS35ckLQZscSbsgMm
Run Code Online (Sandbox Code Playgroud)

另外,目前电子邮件验证不起作用,因为 nginx 会重定向到https每个页面的等效内容,并且由于某些原因,事情会变得混乱,并且https版本是损坏的网址,例如:

https://example.com/users/confirmation?confirmation_token=zqfHS35ckLQZscSbsgMm?confirmation_token=zqfHS35ckLQZscSbsgMm
Run Code Online (Sandbox Code Playgroud)

由于某些原因,nginx 会重定向到这个损坏的 url,因此 Unicorn 只能拒绝该请求。

有什么线索吗?

ssl ruby-on-rails nginx devise

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

sass-rails需要链轮2.0.0但轨道4.1.0需要链轮2.12.1

我正在尝试将我的应用程序升级rails 3.2.16rails 4.1.0,当我尝试调用捆绑器时,我在开始时遇到麻烦:

Bundler could not find compatible versions for gem "sprockets":
  In Gemfile:
    sass-rails (>= 0) ruby depends on
      sprockets (~> 2.0.0) ruby

    rails (= 4.1.0) ruby depends on
      sprockets-rails (~> 2.0) ruby depends on
        sprockets (2.12.1)

Bundler could not find compatible versions for gem "sprockets-rails":
  In Gemfile:
    sass-rails (>= 0) ruby depends on
      sprockets-rails (~> 2.0.0) ruby

    rails (= 4.1.0) ruby depends on
      sprockets-rails (2.1.3)

Bundler could not find compatible versions for gem "railties": …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails bundler ruby-on-rails-3

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