Tag: 回形针

回形针在开发中工作但不在生产中工作?

我对rails非常陌生并且似乎对回形针gem存在问题。 我安装了gem并且它在开发中运行良好(localhost:3000)但是当我在heroku服务器上运行它时,由于某种原因它不想附加文件,并且应用程序中断(错误500页)。 这是我运行的过程…我将我的文件推送到heroku,heroku运行rake db:migrate(添加paperclip迁移),然后我运行heroku restart(重新启动应用程序的新迁移)。 这似乎没有帮助。 这是我用于回形针的代码: user.rb模型: has_attached_file :avatar, :styles => {:small => “70×70>”}, :url => “/users/:attachment/:id/:style/:basename.:extension”, :path => “:rails_root/public/users/:attachment/:id/:style/:basename.:extension” validates_attachment_size :avatar, :less_than => 500.kilobytes validates_attachment_content_type :avatar, :content_type => [‘image/jpeg’, ‘image/png’] edit_form.html.haml视图: = form_for (@user || User.new), :html => { :multipart => true } do |f| … .profile_picture.text_field = image_tag current_profile.avatar.url(:small) %br = f.file_field […]

Paperclip直接通过url获取图像

可以使用PaperClip通过URL获取图像吗? 灵活成像是可能的,但fleximage不支持Rails3,所以我已经切换到回形针。 目前,我通过curl获取图像,将其保存在硬盘上并通过paperclip的image_file加载它。 我通过谷歌找不到真正的解决方案,所以希望你能帮助我。

清理Paperclip错误消息

好的,所以我有回形针工作,我正在尝试使用内置的validation器来确保上传的文件 是一个图像 不是太大了 所以我在模型中有这个,根据文档: validates_attachment :avatar, :content_type => { :content_type => /image/ }, :size => { :in => 0..2.megabytes } 但是它在视图中显示的错误是这个混乱: 我希望它有点简单,比如“阿凡达必须是一个小于2兆字节的图像” 但是,我无法看到在哪里这样做,因为传递:message => ‘something’会抛出错误Unknown validator: ‘MessageValidator’ 我该如何清理呢? 请注意,上传小图片的快乐路径可以正常工作。 一些进一步的测试表明,上传太大的图像(如桌面背景)或非.rb文件的内容会更优雅地失败,但根本不会显示任何错误消息。 仍然不是我想要的。

Ruby on Rails 4 – 重复的回形针validation消息

有没有办法阻止validation消息出现两次Paperclip上传validation? 这是我的模型: has_attached_file :photo, :styles => { :thumb => “215×165” }, :default_url => “/images/:style/missing.png” validates_attachment :photo, :presence => true, :content_type => { :content_type => “image/jpg” }, :size => { :in => 0..0.5.megabytes } 这是我的观点: The following errors were found: – 如果我上传无效文件,我会收到以下错误消息: 照片内容类型无效 照片无效 有没有办法让其中一个出现? 我尝试过向模型添加消息: 但是,这也只是出现了两次! 谢谢!

使用Paperclip Rails 4多个文件附件

我知道Stackoverflow上有几篇post和几个关于这个主题的教程。 然而,他们都没有设法解决我的问题,其中大多数也已过时。 我正在尝试使用Rails 4中的paperclip gem将多个图像添加到项目中。当我尝试上传它时,我确实看到附加在params中的资产。 它们似乎没有添加到project_paramns但是.. 希望有人可以帮助我。 这是我的projects_controller class ProjectsController < ApplicationController before_filter :find_project, only: [:show, :edit, :update, :destroy] def index @projects = Project.all end def show end def new @project = Project.new end def create @project = Project.new(project_params) @project.save redirect_to project_path(@project) end def edit end def update @project.update(project_params) redirect_to project_path(@project) end def destroy @project.destroy […]

来自Model的动态样式尺寸的回形针附件

使用Rails 2,我尝试通过Paperclip-Model中的另一个模型分离不同的动态图像大小。 我目前的方法,使用Proc,看起来如下: class File “FileSize” has_attached_file( :attachment, :styles => Proc.new { |instance| instance.attachment_sizes } ) def attachment_sizes sizes = { :thumb => [“100×100″] } self.sizes.each do |size| sizes[:”#{size.id}”] = [“#{size.width}x#{size.height}”] end sizes end end class FileSize < ActiveRecord::Base belongs_to :file after_create :reprocess after_destroy :reprocess private def reprocess self.file.attachment.reprocess! end end 一切似乎都很好,但显然没有处理任何样式,也没有创建图像。 有没有人管理这样的事情? – 更新 […]

回形针自定义:路径和:url

尝试使用paperclip自定义has_attached_file的:path和:url选项时遇到一些问题: 我有一个名为“Asset”的多态类,它具有: class Asset true has_attached_file :picture, :styles => { …}, :url => “/attachments/user_:user/dressing_:dressing/garment_:garment/category_:category/:basename_:style.:extension”, :path => “:rails_root/public/attachments/user_:user/dressing_:dressing/garment_:garment/category_:category/:basename_:style.:extension” end 插值效果很好但我想根据file_owner_type自定义路径和url 例如,如果我想要用户的图片路径,我想要 :path => “:rails_root/public/attachments/user_:user/:basename_:style.:extension 谢谢你的帮助 编辑 :我想我没有正确解释自己。 我已经创建并且运行良好的插值。 我有一个多态的资产模型,所有者可以是用户(用于化身),服装或敷料。 我希望根据文件所有者的不同路径 。 在这个时候,当我想要添加一件服装资产时,它的效果很好 “/attachments/user_x/dressing_y/garment_z/category_u/something_style.jpg” 但是,如果我只是想要一个用户图片,这条路径将把头像放入 “/attachments/user_x/dressing_/garment_/category_/something_style.jpg” 而我想把它放进去 “/attachments/user_x/something_style.jpg” 。 谢谢

回形针 – validation文件类型但不存在

我使用paperclip来处理我的文件上传,在一种情况下我不希望文件是强制性的。 但是,我想确保它存在时是特定的文件类型。 我有这个: class TestModel [‘audio/mp3’, ‘application/x-mp3’] end 当我没有声音文件时,它告诉我它不是有效的内容类型之一。 我已经尝试将”添加到:content_type数组,这也不起作用! 我还尝试为:if属性创建一个lambda过程,但是:if没有某种错误我就无法运行它。 这里有什么遗漏?

如何在Rails 3中使用Cucumber / Capybara在页面上找到图像

我正在使用Cucumber / Capybara和Rails 3,我试图在上传后validation图像的存在。 我不知道如何检查图像的url来validation它。 我有以下情况: Scenario: Create new listing Given I am on the new listing page When I fill in “listing_name” with “Amy Johnson Photography” And I attach the file “features/support/test_image.jpg” to “listing_images_attributes_0_photo” And I press “Create” Then I should see “Amy Johnson Photography” And I should see the image “test_image.jpg” 除了最后一步,一切都过去了。 我已经尝试过这个用于我的步骤定义,如果它是页面上的文本,则效果很好,但不适用于图像url: […]

Rails回形针和多个文件上传

我正在寻找一种解决方案,让用户能够通过一个file_field上传多个图像。 我已经查看了诸如Jquery File Upload和Uploadify之类的选项,但是还没有找到一个有效工作解决方案的例子。 我已经有多个图像设置, has_attached_file :asset, :styles => { :large => “640×480”, :medium => “300×300”, :thumb => “100×100” }, :storage => :s3, :s3_credentials => “#{Rails.root}/config/s3.yml”, :path => “/:contributor_id/:listing_name/:filename” 现在我正在显示5个单独的file_fields def new @listing = Listing.new 5.times {@listing.assets.build } respond_to do |format| format.html # new.html.erb format.json { render json: @listing } end end 我想拥有 true %> […]