标签: paperclip

为什么在安装PaperClip时会得到"has_attached_file"的"未定义方法"?

我刚刚安装了Paperclip的插件,我收到以下错误消息,但我不确定原因:

NoMethodError (undefined method `has_attached_file' for #<Class:0x10338acd0>):
  /Users/bgadoci/.gem/ruby/1.8/gems/will_paginate-2.3.12/lib/will_paginate/finder.rb:170:in `method_missing'
  app/models/post.rb:2
  app/controllers/posts_controller.rb:50:in `show'
Run Code Online (Sandbox Code Playgroud)

它引用了will_paginate gem.从我能找到的,似乎我PostsController#index或者以前尝试安装gem而不是插件有问题,在这种情况下我读过我应该能够以/config/environments.rb某种方式通过文件来修复.

我之前认为以前的gem安装并不重要,因为我在安装插件之前删除了旧版本的网站.在该站点的当前版本中,我显示该表已在迁移后使用Paperclip列进行更新.这是我的代码:

PostsConroller#show:

  def show
    @post = Post.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.xml  { render :xml => @post }
    end
  end
Run Code Online (Sandbox Code Playgroud)

Post 模型:

class Post < ActiveRecord::Base

  has_attached_file :photo
  validates_presence_of :body, :title
  has_many :comments, :dependent => :destroy
  has_many :tags, :dependent => :destroy
  has_many :votes, :dependent => :destroy
  belongs_to :user
  after_create :self_vote
      def self_vote
       # I am assuming you have a …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails paperclip

52
推荐指数
2
解决办法
3万
查看次数

导轨回形针和乘客`不被'识别'命令'识别

当我上传照片时,我的模型未通过验证,即使没有任何验证也是错误的我已经返回此错误:

/tmp/stream20100103-13830-ywmerx-0 is not recognized by the 'identify' command. and     
/tmp/stream20100103-13830-ywmerx-0 is not recognized by the 'identify' command.
Run Code Online (Sandbox Code Playgroud)

我确信这与ImageMagick无关,因为我已经从上传中删除了任何图像处理,我也尝试上传不同的mime类型,如.txt文件等.

此外,我发现了一些可行的方法.一篇博客文章声称将以下内容放在我的环境中(在本例中为development.rb)

Paperclip.options[:command_path] = "/opt/local/bin"
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails paperclip

42
推荐指数
3
解决办法
2万
查看次数

Paperclip异常:Paperclip :: AdapterRegistry :: NoHandlerError

在rails 3.2.2中使用Paperclip 3.0.1我收到此错误:

**Paperclip::AdapterRegistry::NoHandlerError** 
(No handler found for "2009-11-29-133527.jpg"):
Run Code Online (Sandbox Code Playgroud)

在我的模型中,我有:

class Product < ActiveRecord::Base
    ...
    has_many :assets 
    accepts_nested_attributes_for :assets
 end

 class Asset < ActiveRecord::Base
     belongs_to :product
     has_attached_file :image,
               :path => ":rails_root/public/system/:attachment/:id/:style/:filename",
               :url => "/system/:attachment/:id/:style/:filename", 
               :styles => { :medium => "300x300>", :thumb => "100x100>" }
  end
Run Code Online (Sandbox Code Playgroud)

例外是在:

def create
     **@product = Product.new params[:product]**
     ...
end
Run Code Online (Sandbox Code Playgroud)

与params:

{...,
 "product"=>{"title"=>"wibble1", 
             **"assets_attributes"=>{"0"=>{"image"=>"2009-11-29-133527.jpg"}
                                  },** 
             "description"=>"Who is wibble...", 
             "price"=>"23.45"
            }, 
             "commit"=>"Create Product", 
             ...}
Run Code Online (Sandbox Code Playgroud)

有谁知道发生了什么?

ruby-on-rails paperclip

40
推荐指数
4
解决办法
4万
查看次数

如果没有图像存在,如何在回形针中显示隐藏图像

如果没有图像与记录关联,如何防止调用关联图像的图像标记?

<%= image_tag @agent.avatar.url %>
Run Code Online (Sandbox Code Playgroud)

...如果没有与该代理相关联的图像,则会向我显示"Missing"文本.我想先测试看看是否有可用的图像,然后如果测试返回true则渲染上面的标记.

更好的是,如果没有专门提供图像,我还有指定默认图像吗?

ruby plugins ruby-on-rails paperclip

39
推荐指数
4
解决办法
2万
查看次数

使用Paperclip调整图像大小

Rails的Paperclip插件有一个调整大小选项,可以保持图像的比例.根据Ryan Bates的Paperclip Railscast,要确保选项已打开,您必须在要调整大小的样式的末尾添加一个大于号的符号,如下所示:

:styles => { :small => "160x160>" }
Run Code Online (Sandbox Code Playgroud)

我正在寻找Paperclip将我的图像调整到一个确切的大小,即使这意味着它不成比例,所以我认为删除大于号就可以了,如下:

:styles => { :small => "160x160" }
Run Code Online (Sandbox Code Playgroud)

好吧,事实证明没有任何反应.因此,首先,大于号是多余的.不过,我仍然留下以下问题:

如何将图像强制设置为一定大小,忽略比例?

谢谢!

image-manipulation file-upload ruby-on-rails imagemagick paperclip

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

使用Paperclip进行简单裁剪

我想使用Paperclip在上传时剪裁图像,以从原始图片的中心获得方形拇指.我发现文档中的方法似乎完全符合我的要求:

transformation_to(dst,crop = false)

问题是我无法弄清楚在哪里使用这种方法.简单地将一些东西作为参数传递到这里会很棒:

  has_attached_file :picture, 
                    :styles => { :medium => "600x600>", :thumb => "something here" }

ruby ruby-on-rails crop paperclip

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

如何在to_json中获取paperclip图像的url

我有一个使用这样的回形针的模型:

has_attached_file :avatar, :styles => { :large => "100x100>" , :medium => "50x50>", :small => "20x20>" },  :default_url => '/images/missing-owner_:style.png'
Run Code Online (Sandbox Code Playgroud)

我用to_json方法导出这个模型,我想导出图像URL,所以我可以在javascript中使用它.

我知道我可以在视图中访问这样的url:

<%= image_tag model.avatar.url(:medium) %>
Run Code Online (Sandbox Code Playgroud)

但是我怎样才能在to_json方法中做同样的事情.

我有一些这样的:

respond_to do |format|
   render :json => @model.to_json(:only => [:id,:name,:homephone,:cellphone])
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails paperclip

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

Paperclip:如何在Rails控制台中存储图片?

我尝试将本地图像存储在rails控制台中.

因为我的本地存储中有很多图片(我使用爬虫来下载大量的图片),我想将它们存储到数据库中,利用回形针来做一些图像工作,比如缩略图等.如果我使用网页来将新图片逐一保存到数据库中,会耗费大量时间.所以我想在rails控制台(一些代码)中找到一种可以批量保存图片到数据库的方法.

console ruby-on-rails paperclip ruby-on-rails-3

36
推荐指数
3
解决办法
2万
查看次数

回形针图像网址

愚蠢的问题?

<img alt="Phone_large" src="/system/photos/1/small/phone_large.jpg?1238845838" />
Run Code Online (Sandbox Code Playgroud)

为什么"?1238845838"被添加到图像路径?

如果没有它我怎么能得到我的路径/网址?

ruby-on-rails paperclip

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

使用Paperclip获取服务器文件路径

我正在使用Rails和Paperclip制作一个小文件上传应用程序.我希望能够在完成上传文件的服务器上返回文件路径,但我似乎无法弄清楚如何获取路径?Paperclip似乎只记录文件本身的名称.

现在有人怎么做?

ruby file-upload ruby-on-rails paperclip

34
推荐指数
2
解决办法
2万
查看次数