我决定下载源代码并在本地编译然后运行sudo make install.
但是,当我尝试运行命令'which ImageMagick'时,我没有看到路径返回到命令行.
我试图让ImageMagick和Paperclip(对于Rails 3)很好地一起玩,但是无法正确安装它 - Paperclip似乎不起作用.当我执行以下操作时,我一直从Rails获得的错误has_attached_file :image, :styles => { :thumb => "64x64" }是Image Paperclip::CommandNotFoundError
sudo make install的输出太大了,所以我把它发布在Github上:https://gist.github.com/723339
我看到这个奇怪的问题(即使我感觉我错过了一些明显的东西,因为我是新来的铁路).当我上传图像并通过activeadmin在heroku中保存记录时,一切似乎都正常,图像正确显示.稍后进行了一些更改并推送到heroku,图像似乎消失了.通过检查控制台和我视图中生成的文件路径可以看出,回形针使用的列没有变化,但文件系统中似乎缺少图像.只是一个注释我正在使用免费的heroku帐户atm.我可能做错了什么想法?提前致谢
我使用附件模型作为多态关联.如何根据关联更改路径和url参数.
附件模型
class Attachment < ActiveRecord::Base
belongs_to :user
belongs_to :attachable, :polymorphic => true
has_attached_file :attachment,
:url => "/attachments/:id/:basename.:extension",
:path => ":rails_root/public/attachments/:id/:basename.:extension",
:default_url => "/attachments/original/no-file.txt"
end
Run Code Online (Sandbox Code Playgroud)
项目模型
class Project < ActiveRecord::Base
...
has_many :attachments, :as => :attachable, :dependent => :destroy
end
Run Code Online (Sandbox Code Playgroud)
客户
class Client < ActiveRecord::Base
...
has_many :attachments, :as => :attachable, :dependent => :destroy
end
Run Code Online (Sandbox Code Playgroud)
以下路径文件保存正常.
:path => ":rails_root/public/attachments/:id/:basename.:extension",
Run Code Online (Sandbox Code Playgroud)
但我需要保存基于关联的文件,为此如何将参数传递给'path'.'attachable_type'定义了哪个关联上传文件所属
/attachments/project/
/attachments/client/
Run Code Online (Sandbox Code Playgroud) 我有一个用户选择模板的应用程序.在此模板上,用户可以上传图像.
我用paperclip上传图片.
每个模板都有不同的图像大小.
是否可以在回形针中动态设置图像样式=>'widthxheight'?
我想要这个功能,因为如果用户决定更改模板,那么他们不必再次上传照片,只需裁剪"原始".
谢谢你的帮助.
我会尽力清除这一点.
用户上传页面标题的图像.样式可以称为"标题",尺寸应该是标题空间的尺寸,比如"400x600"
现在,用户可以查看他们在图库中上传的图像.他们想为他们的页面选择一个图像,但这次是"侧边栏",其尺寸为"300x100".我不想让他们再次上传相同的图像.我想创建一个名为"sidebar"的新样式,尺寸为"300x100".我也不想删除"标题"样式或调整它的大小.
我怎么能用回形针做到这一点?
我刚刚遇到了RedActor(http://redactorjs.com/),一个WYSIWYG编辑器.我想将它与Rails和Paperclip结合使用,但我不知道从哪里开始.我搜索了文档并遇到了用于上传文件和图像的PHP示例.
谷歌没有找到任何东西.(关键词:Rails Paperclip RedActor).我在GitHub上发现了这个gem(https://github.com/SammyLin/redactor-rails),但它只提供与ActiveRecord和CarrierWave的集成.
我需要做些什么才能让RedActor与Ruby On Rails和Paperclip一起工作?
我使用我的rails 2.3应用程序中的paperclip gem将图像附件保存到AWS S3.我希望能够允许用户下载图像附件作为实际下载,而不是打开新的浏览器选项卡.当我在我使用的服务器上本地保存图像附件时:
picture_filename = RAILS_ROOT + '/public' + params[:picture_filename]
send_file(picture_filename, :type => 'text', :stream => "false", :disposition => 'attachment')
Run Code Online (Sandbox Code Playgroud)
但是,如果位置在aws-s3上,则send_file不起作用.
如何用aws-sdk宝石实现这一目标?
这可能是一个非常新的问题,但在这里:
回形针gem有一个名为:styles的选项,可以保存不同大小的图像的多个版本.我的问题是,既然我可以使用css将图像大小调整到我想要的大小,那么保存同一图像的多个版本有什么好处?
干杯!
乌里
我正在尝试将用户的facebook url保存到我的数据库中,但是我收到以下错误.
redirection forbidden: http://graph.facebook.com/1240771104/picture -> https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/t...
Run Code Online (Sandbox Code Playgroud)
我已经引用了这个问题,但我认为他只是调用一个图像而不是将其保存到带有创建块的数据库中.
这是我的用户模型......
def self.find_for_facebook_oauth(auth, signed_in_resource=nil)
user = User.where(:provider => auth.provider, :uid => auth.uid).first
if user
return user
else
registered_user = User.where(:email => auth.info.email).first
if registered_user
return registered_user
else
user = User.create(
name:auth.extra.raw_info.name,
provider:auth.provider,
uid:auth.uid,
email:auth.info.email,
image:auth.info.image,
password:Devise.friendly_token[0,20],
)
end
end
end
Run Code Online (Sandbox Code Playgroud)
我在'def.self_for_facebook'下面添加了一个URI帮助器,因为我认为我只需要将http发送到https.所以我从另一个堆栈问题中收集到了.
private
def process_uri(uri)
require 'open-uri'
require 'open_uri_redirections'
open(uri, :allow_redirections => :safe) do |r|
r.base_uri.to_s
end
end
Run Code Online (Sandbox Code Playgroud)
我需要添加吗?
if auth.info.image.present?
image_url = process_uri(auth.info.image)
user.update_attribute(:image, URI.parse(avatar_url))
end
Run Code Online (Sandbox Code Playgroud)
到创建块? 这个:
if auth.info.image.present? …Run Code Online (Sandbox Code Playgroud) 我正在使用回形针上传个人资料照片.当有人不上传图像时,我希望将默认图像分配给用户.
我正在使用这行代码:
has_attached_file :avatar,
styles: { medium: "300x300>", thumb: "100x100>" },
default_url: "assets/images/:style/male.jpg"
Run Code Online (Sandbox Code Playgroud)
但是我的浏览器检查员给了我这个错误:
http://localhost:3000/assets/images/original/male.jpg 404 (Not Found)
Run Code Online (Sandbox Code Playgroud)
我试着写:
default_url: "assets/images/:style/male.jpg"
default_url: "images/:style/male.jpg"
default_url: ":style/male.jpg"
default_url: "male.jpg"
default_url: "assets/images/male.jpg"
Run Code Online (Sandbox Code Playgroud)
图像位于以下位置:
/assets/images/male.jpg
/assets/images/medium/male.jpg
/assets/images/thumb/male.jpg
/assets/images/original/male.jpg
Run Code Online (Sandbox Code Playgroud) 我有一个具有头像的用户模型.Paperclip用于允许图像上传.但是,我希望用户能够上传尽可能多的图像(无限制).如何修改我的模型以允许此类行为?用户模型如下所示:
class Model < ApplicationRecord
has_attached_file :pic, styles: { medium: "420×633!", thumb: "100x100#" }, default_url: "/images/:style/missing.png"
validates_attachment_content_type :pic, content_type: /\Aimage\/.*\z/
has_many :reviews, dependent: :destroy
Run Code Online (Sandbox Code Playgroud)
提前致谢 !