我在Mountain Lion上使用Homebrew安装了ImageMagick(minimagick也在我的Gemfile中,但我不认为这是相关的).SimpleCaptcha在Rails应用程序中使用它来创建CAPTCHA.
但是,图像不会导致此错误:
Error while running convert: convert: unable to read font `/usr/local/share/ghostscript/fonts/n019003l.pfb' @ error/annotate.c/RenderFreetype/1123.
convert: Postscript delegate failed `/var/folders/gd/n7rzfhkd5jd0ws8jnzsz34hr0000gn/T/magick-vzHHz4ZP': No such file or directory @ error/ps.c/ReadPSImage/830.
convert: no images defined `/var/folders/gd/n7rzfhkd5jd0ws8jnzsz34hr0000gn/T/simple_captcha20121218-64930-1thtfpf.jpg' @ error/convert.c/ConvertImageCommand/3032.
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我正在写一个依赖于特定宝石的库.我需要宝石并在我的代码中使用它,只要宝石安装在用户的机器上,所有东西都是hunky-dory.但如果不是这样呢?!
我认为这很好,因为我可以从require命令中解救并向输出打印一条消息,告知用户缺少的宝石并优雅地完成它但我收到错误!
你能告诉我应该怎么做或这段代码有什么问题:
begin
require "some_gem"
rescue
puts "please install some_gem first!"
end
Run Code Online (Sandbox Code Playgroud) 我有一个Post模型,我通过ActiveAdmin访问.它也可以使用acts_as_taggable_on gem进行标记.因此,管理员可以添加,编辑或删除特定帖子中的标签.
在管理面板中为资源添加标记功能的常规方法是在admin/posts.rb中执行此操作:
ActiveAdmin.register Post do
form do |f|
f.inputs "Details", :multipart => true do
f.input :tag_list
# and the other irrelevant fields goes here
end
f.buttons
end
end
Run Code Online (Sandbox Code Playgroud)
但是,我希望从多选表单字段中选择标记,而不是在文本字段中手动输入(就像上面的代码一样).所以我试过这样做:
f.input :tag_list, :as => :select,
:multiple => :true,
:collection => ActsAsTaggableOn::Tag.all
Run Code Online (Sandbox Code Playgroud)
但它没有按预期工作.这实际上创建了带有名称的一些整数值的新标签,并将它们分配给该帖子.有人告诉我需要额外的代码才能使用.
关于如何做到这一点的任何线索?这是我的模型,以防万一:http://pastie.org/3911123
提前致谢.
ruby-on-rails acts-as-taggable-on ruby-on-rails-3 activeadmin ruby-on-rails-3.2
这是我的Image模型,其中我实现了一种验证附件尺寸的方法:
class Image < ActiveRecord::Base
attr_accessible :file
belongs_to :imageable, polymorphic: true
has_attached_file :file,
styles: { thumb: '220x175#', thumb_big: '460x311#' }
validates_attachment :file,
presence: true,
size: { in: 0..600.kilobytes },
content_type: { content_type: 'image/jpeg' }
validate :file_dimensions
private
def file_dimensions(width = 680, height = 540)
dimensions = Paperclip::Geometry.from_file(file.queued_for_write[:original].path)
unless dimensions.width == width && dimensions.height == height
errors.add :file, "Width must be #{width}px and height must be #{height}px"
end
end
end
Run Code Online (Sandbox Code Playgroud)
这工作正常,但它不可重复使用,因为该方法采用宽度和高度的固定值.我想将其转换为自定义验证器,因此我也可以在其他模型中使用它.我已经阅读了有关此内容的指南,我知道在app/models/dimensions_validator.rb中它会是这样的:
class DimensionsValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
dimensions = …Run Code Online (Sandbox Code Playgroud) ruby-on-rails paperclip ruby-on-rails-3 paperclip-validation
编辑:这个问题基本上要求生成最高限度的素数.最初的问题如下.
if如果只满足以下两个条件,我希望我的陈述成为现实:
for i := 2; i <= 10; i++ {
if i%i == 0 && i%1 == 0 {
} else {
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,每个可能的数字都超过了这些条件,但是我只想要数字2,3,5,7,11 ...基本上只有自己可以被分割的数字和1才能过去,除了非常第一个'2'.我怎样才能做到这一点?
谢谢
所以我知道你可以在GO中以两种不同的方式初始化结构.其中一个是使用new关键字,它返回一个指向内存中结构的指针.或者您可以使用{}来构建结构.我的问题是何时适合使用每种?谢谢
我正在使用CKEditor并且我已将其配置为与Paperclip一起使用但我不能告诉它在S3中存储文件,因此它使用Paperclip存储它们但在本地文件系统上.
所以我想知道是否有某种方法告诉Paperclip每次使用时都明确使用S3.
我知道如何在某些模型上配置带有S3的Paperclip(非常简单,在paperclip github wiki上有描述).我正在Heroku上部署,这就是我无法写入本地文件系统的原因.
go ×2
paperclip ×2
activeadmin ×1
amazon-s3 ×1
ckeditor ×1
imagemagick ×1
primes ×1
ruby ×1
rubygems ×1