Tag: 回形针

Rails Paperclip gem错误的参数个数错误

我正在研究我的第一个RoR项目并试图使用Paperclip gem,但我遇到了一个我似乎无法弄清楚的错误: 错误的参数数量(1表示0) app / controllers / events_controller.rb:43:在’create’中 参数: {“utf8″=>”✓”, “authenticity_token”=>”OBYHA0M+TA93sNF3uqrJ/zvnnEyWJUREn4NcOl0ExfA=”, “event”=>{“title”=>””, “image”=>#<ActionDispatch::Http::UploadedFile:0x007f803802b1f0 @original_filename="icon.png", @content_type="image/png", @headers="Content-Disposition: form-data; name=\"event[image]\"; filename=\"icon.png\"\r\nContent-Type: image/png\r\n", @tempfile=#>, “description”=>””, “date”=>””, “time”=>””}, “commit”=>”Create Event”} 我知道在create方法的events_controller.rb中,传入了太多的参数。但是,我遵循Paperclip的Github上的QuickStart指令,所以我不确定为什么我会收到此错误。 这是我的events_controller.rb代码 def create @event = Event.create( params[:event] ) end 只是为了调试,我尝试将行更改为Event.create(params []),此时错误从错误的参数数量(1表示0)变为错误的参数数量(0表示1)。 这是我的event.rb代码 class Event { :medium => “300×300>”, :thumb => “100×100>” } end 我已经检查过我正在运行所有版本的正确版本。 我有Paperclip 3.4.0,Rails 3.2.12,Ruby 1.9.3和ImageMagick […]

Uploadify + Paperclip + Rails嵌套关联before_save

我需要创建一个模型应用程序表单,模型可以填充它并添加图片。 我正在使用Uploadify,Paperclip和Rails 3方法来关注这个例子。 https://github.com/websymphony/Rails3-Paperclip-Uploadify 对于图片,我有一个多态附件模型,我想将这些ajax上传的附件附加到尚未保存的模型表格,这是棘手的部分来了。 用户未被记录,因此在保存之前没有“model_id”。 由于我向用户展示了他在每次上传后通过ajax在表单中上传的图像的小预览,我需要一些方法来关联它们。 我正在考虑一些中间令牌,直到模型被保存,但我不确定这是实现这一目标的最佳方法。 谢谢!

我们可以找到Paperclip下载完成的时间吗?

我有一个应用程序,我需要知道用户的Rails / Paperclip文件下载何时完成 。 我的应用程序设置为与Amazon S3交互,我需要在用户收到完成的文件时运行javascript函数。 我怎样才能做到这一点?

回形针放置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’ 我不知道我应该将missing.png图像放在我的代码中,我在public/assets/original/missing.png尝试过,但它似乎没有管理它。 还有一些奇怪的事情:我有一个paperclip.rb初始化线: Paperclip::Attachment.default_options[:default_url] = “/images/default_image.png” 但仍然应用程序正在寻找missing.png 更新:好的我认为在模型中覆盖了default_url: has_attached_file :image, styles: { big: “1200X630>”, thumb: “150X150” }, default_url: “/images/:style/missing.png” 我仍然不知道在哪里放置图像。 UPDATE2: 整个回形针初始化程序: Paperclip::Attachment.default_options[:styles] = { thumb: “100×100#”, small: “200×200#”, screen: “800×600#”} 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] = […]

Paperclip缺少Amazon S3的协议(https)

在production.rb中: config.paperclip_defaults = { s3_host_name: “s3.#{ENV.fetch(‘AWS_REGION’)}.amazonaws.com”, storage: :s3, s3_credentials: { bucket: ENV.fetch(‘S3_BUCKET_NAME’), access_key_id: ENV.fetch(‘AWS_ACCESS_KEY_ID’), secret_access_key: ENV.fetch(‘AWS_SECRET_ACCESS_KEY’), s3_region: ENV.fetch(‘AWS_REGION’), } } 我在initializers / paperclip.rb中没有任何内容。 在我的模型中: class MyModel ‘, square: ‘200×200#’, medium: ‘300×300>’ } validates_attachment_content_type :photo, content_type: /\Aimage\/.*\Z/ def photo_url=(url) self.photo = URI.parse(url) end end 然后我测试出来: m = Model.new m.photo_url = “https://s3.us-east-2.amazonaws.com/mybucket/sports-grill-miami.jpg” m.save! m.photo.url(:thumb) “//s3.us-east-2.amazonaws.com/mybucket/buckets/photos/000/000/005/thumb/sports-grill-miami.jpg?1495237443” 为什么缺少HTTPS协议? 这会使我的android应用程序崩溃,因为它需要一个协议才能连接到URL。 […]

Rails:使用Paperclip防止重复的照片上传?

如果用户尝试使用Paperclip将同一张照片两次上传到Rails应用程序,是否仍然会抛出validation错误? Paperclip似乎没有提供此function…… 我正在使用Rails 2.3.5和Paperclip (显然)。 解决方案:(或至少其中一个) 使用Beerlington的建议,我决定使用MD5校验和比较: class Photo < ActiveRecord::Base #… has_attached_file :image #, … before_validation_on_create :generate_md5_checksum validate :unique_photo #… def generate_md5_checksum self.md5_checksum = Digest::MD5.hexdigest(image.to_file.read) end def unique_photo photo_digest = self.md5_checksum errors.add_to_base "You have already uploaded that file!" unless User.find(self.user_id).photos.find_by_md5_checksum(photo_digest).nil? end # … end 然后我在我的photos表中添加了一个名为md5_checksum的列,瞧! 现在,如果您尝试上传同一张照片,我的应用会抛出validation错误! 不知道这是多么有效/低效,所以重构是受欢迎的! 谢谢!

使用Paperclip删除图像

我正在使用Paperclip在我的Rails应用程序中保存图片: 用户模型: class User < ActiveRecord::Base has_one :profile end 档案型号: class Profile {:medium => “300×300>”, :thumb => “100×100>”} belongs_to :user end 我尝试删除头像: current_user.profile.avatar = nil current_user.profile.save 但它不起作用。 可能吗?

如何使用Paperclip在Rails 4中上传多个图像

我正在尝试为我的市场控制器创建一个图像库我可以使用回形针上传单个图像。我在谷歌上搜索但我找不到任何解决方案。 如何使用回形针上传多个图像并以图库的forms显示。 有什么办法吗? 请给我答案。

将纸夹url添加到json

通常在html中我们将在image标签内部使用Model.field.url(:thumb),如何在json上使用它,特别是使用hash_secret。

回形针::错误:: NotIdentifiedByImageMagickError:

使用paperclip上传图片错误: Command :: identify -format%wx%h’ / tmp/103120121106-20384-i7dnzy.png [0]'[paperclip]处理时收到错误: #<Paperclip :: Errors :: NotIdentifiedByImageMagickError:/ tmp / 103120121106- “识别”命令无法识别20384-i7dnzy.png 我找到了身份: joinall@nxbbs-server:/nxbbs$ type identify identify is hashed (/usr/local/bin/identify) joinall@nxbbs-server:/nxbbs$ convert logo: 2.jpg joinall@nxbbs-server:/nxbbs$ identify 2.jpg 2.jpg GIF 640×480 640×480+0+0 8-bit sRGB 256c 31.7KB 0.000u 0:00.000 在config / environments / development.rb中 Paperclip.options[:command_path] = “/user/local/bin” 在app / models / user.rb中 […]