所以,我想将图像调整为FIXED宽度,但比例高度.
我一直在尝试各种各样的运营商:
380x242#380x242> 380!x242 380x242 <
它们都没有达到预期的效果.有帮助吗?我希望它填充或调整宽度为380,然后调整高度/缩小高度所用的相同因子,将图像缩小或调整为380宽.
该场景是一个普通模型,其中包含回形针附件以及具有各种验证的其他一些列.当由于与附件无关的验证错误而无法保存要创建对象的表单时,会保留字符串等列并为用户保留预填充,但选择用于上载的文件完全丢失且必须由用户重新选择.
在模型验证错误的情况下,是否有标准方法来保留附件?这似乎是一个非常常见的用例.
在没有所有者的情况下保存文件然后在成功保存之后重新连接到对象的解决方案似乎是不优雅的,所以我希望避免这种情况.
我正在使用Paperclip/S3进行文件上传.我上传文本类文件(不是.txt,但它们本质上是.txt).在show controller中,我希望能够获取上载文件的内容,但不要将内容视为其属性之一.我能在这做什么?
attachment_file_name: "test.md", attachment_content_type: "application/octet-stream", attachment_file_size: 58, attachment_updated_at: "2011-06-22 01:01:40"
Run Code Online (Sandbox Code Playgroud)
PS - 似乎所有的Paperclip教程都是关于图像,而不是文本文件.
我正在使用paperclip来处理图像上传到rails.它在我的开发OSX机器上工作正常,但现在我的Web服务器上出现此错误:
[paperclip] /Users/marky/bin/identify '-format' '%wx%h' '/tmp/stream,16451,2.JPG[0]' 2>/dev/null
[paperclip] An error was received while processing: #<Paperclip::CommandNotFoundError: Paperclip::CommandNotFoundError>
[paperclip] /Users/marky/bin/identify '-format' '%wx%h' '/tmp/stream,16451,2.JPG[0]' 2>/dev/null
[paperclip] An error was received while processing: #<Paperclip::CommandNotFoundError: Paperclip::CommandNotFoundError>
Run Code Online (Sandbox Code Playgroud)
现在我明白了原因; 识别实际上是/ usr/bin/not/Users/marky/bin /来自我的开发机器.我有:
Paperclip.options[:command_path] = "/usr/bin"
Run Code Online (Sandbox Code Playgroud)
在我development.rb,但我仍然得到错误.我不知道如何解决这个问题,任何人都可以帮忙吗?
是否可以获取Paperclip附件的绝对URI?现在,问题是生产环境部署在子URI(在Passenger :)上RackBaseURI,但<paperclip attachment>.url返回Rails-app相对URI(/system/images/...).有没有办法获得Paperclip附件的绝对URI?
我正在使用Paperclip v2.7和Rails 3.2.8.
总计Rspec noob在这里.今晚写下我的第一次考试.
我有一个名为Image的模型.使用回形针我附上一个名为photo的文件.标准的东西.我已经运行了回形针生成器,在生产和测试模式下一切正常.
现在我有一个名为image.rb的spec文件,它看起来像这样(它是由ryanb的nifty_scaffold生成器创建的):
require File.dirname(__FILE__) + '/../spec_helper'
describe Image do
it "should be valid" do
Image.new.should be_valid
end
end
Run Code Online (Sandbox Code Playgroud)
这个测试失败了,我意识到这是因为我的模型验证(即validates_attachment_presence)
我得到的错误是:
Errors: Photo file name must be set., Photo file size file size must be between 0 and 1048576 bytes., Photo content type is not included in the list
Run Code Online (Sandbox Code Playgroud)
那么如何在运行测试时告诉rspec上传照片?
我猜它有点与灯具有关......也许不是.我试过和他们玩,但没有运气.为了记录,我在我的fixtures文件夹中创建了一个名为images的文件夹,我想在我的测试中使用的两个文件名为rails.png和grid.png)
我尝试过以下方法:
it "should be valid" do
image = Image.new :photo => fixture_file_upload('images/rails.png', 'image/png').should be_valid
# I've also tried adding stuff like this
#image.stub!(:has_attached_file).with(:photo).and_return( true )
#image.stub!(:save_attached_files).and_return true
#image.save.should …Run Code Online (Sandbox Code Playgroud) 我有一个带回形针的Rails 3应用程序,目的是在S3上存储数据.
在应用程序中,用户属于一个实例.
我希望每个实例的所有模型都存储数据.并且希望阻止来自实例A的用户访问或能够从实例B加载数据.
处理这个问题的最佳方法是什么?谢谢
我正在使用Cucumber/Capybara和Rails 3,我试图在上传后验证图像的存在.我不确定如何检查图像的URL来验证它.
我有以下场景:
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"
Run Code Online (Sandbox Code Playgroud)
除了最后一步,一切都过去了.
我已经尝试过这个用于我的步骤定义,如果它是页面上的文本,则效果很好,但不适用于图像网址:
Then /^I should see the image "(.+)"$/ do |image|
if page.respond_to? :should
page.should have_content(image)
else
assert page.has_content?(image)
end
end
Run Code Online (Sandbox Code Playgroud)
然后我也尝试了类似这个步骤的定义:
Then /^I should see the image "(.+)"$/ do …Run Code Online (Sandbox Code Playgroud) 几天来,我一直在抨击我.最近,我的图片上传器已停止正常工作.我已经研究了几种可能性,但没有一个建议的解决方案适用于我的情况.
错误消息是:
#<Paperclip::Errors::NotIdentifiedByImageMagickError:Paperclip::Errors::NotIdentifiedByImageMagickError>
Run Code Online (Sandbox Code Playgroud)
以下是详细信息:
development.rb包含适当的路径(我已经验证它是正确的使用which identify)
Paperclip.options[:command_path] = "/usr/local/bin/"
Run Code Online (Sandbox Code Playgroud)
Gemfile.lock (相关部分)
paperclip (3.4.1)
activemodel (>= 3.0.0)
activerecord (>= 3.0.0)
activesupport (>= 3.0.0)
cocaine (~> 0.5.0)
Run Code Online (Sandbox Code Playgroud)
MODEL(我正在更新教室对象,但图片位于位置模型中. (Classroom has_one :location, :as => :locatable)
模型 location.rb
class Location < ActiveRecord::Base
## Paperclip method for uploading location images
has_attached_file :picture, :styles => {:show => "1200x500#", :medium => "300x300#", :thumb => "100x100>"}, :convert_options => {:show => "-gravity center"} …Run Code Online (Sandbox Code Playgroud) 我已经部署了一个rails应用程序到heroku,它工作得很好,直到我更改域,本地它工作正常,现在我开始得到以下错误:Paperclip::Errors::MissingRequiredValidatorError.
s3 env变量在heroku上设置,我找不到为什么会出现这个错误,感谢帮助.
编辑:为了将来参考,它与heroku无关,一旦重新捆绑,它会在本地抛出相同的错误,如答案所示.
paperclip ×10
amazon-s3 ×2
imagemagick ×2
attachment ×1
cucumber ×1
heroku ×1
rspec ×1
unit-testing ×1
validation ×1