我调用了我的文档控制器下载操作,为客户端提供从s3检索到的可下载对象.但是,OpenURI似乎无法解析已存储的url paperclip.这个URL可以在浏览器中访问而没有任何问题,但是当试图在控制器中打开它时,我得到403 Forbidden错误.
documents_controller
def download
data = open(Document.find(params[:id]).upload.url)
send_data data.read, :type => data.content_type, :x_sendfile => true
end
Run Code Online (Sandbox Code Playgroud)
一个例子网址
"https://s3.amazonaws.com/mybucket/documents/1/Screen_Shot.png?1372238888"
Run Code Online (Sandbox Code Playgroud)
错误 - OpenURI :: HTTPError 403当URL打开时,禁止在动作的第一行拍摄.知道它可能是什么?
ruby-on-rails amazon-s3 paperclip http-status-code-403 ruby-on-rails-3
我一直在努力奋斗几个小时,似乎没有取得任何进展.关于我应该开始调试这个的任何提示将不胜感激.
我试图配置一个流浪汉机器并得到以下错误.
`==> default: Running provisioner: chef_solo...
Generating chef JSON and uploading...
==> default: Running chef-solo...
==> default: stdin: is not a tty
==> default: [2014-05-14T11:16:08+00:00] INFO: *** Chef 10.14.2 ***
==> default: [2014-05-14T11:16:08+00:00] INFO: Setting the run_list to ["recipe[nginx]"] from JSON
==> default: [2014-05-14T11:16:08+00:00] INFO: Run List is [recipe[nginx]]
==> default: [2014-05-14T11:16:08+00:00] INFO: Run List expands to [nginx]
==> default: [2014-05-14T11:16:08+00:00] INFO: Starting Chef Run for precise64
==> default: [2014-05-14T11:16:08+00:00] INFO: Running start handlers
==> default: [2014-05-14T11:16:08+00:00] INFO: Start …Run Code Online (Sandbox Code Playgroud) 我有一个属于多个其他表的结构模型.
class Fabric < ActiveRecord::Base
validates :name, presence: true
belongs_to :design
belongs_to :composition
belongs_to :collection
belongs_to :style
belongs_to :origin
belongs_to :texture
belongs_to :supplier
has_and_belongs_to_many :colours
searchable do
text :name, :boost => 5
text :description
text :composition do
composition.name
end
text :collection do
collection.name
end
text :style do
style.name
end
text :origin do
origin.name
end
text :texture do
texture.name
end
text :supplier do
supplier.name
end
end
end
Run Code Online (Sandbox Code Playgroud)
我已经设置了所有反向关联(Has_many)等.但是我似乎无法通过全文搜索来查询所有这些关联表的名称字段.
任何帮助将不胜感激.
@search = Fabric.search do
fulltext params[:search]
end
@fabrics = @search.results
Run Code Online (Sandbox Code Playgroud)
罗斯
我有一个RGB值,我想从120种颜色的集合中找到与该RGB值最接近的匹配.
根据我的收集,实施此类检查的最准确方法之一是使用CIE94公式.但是,我在使用Ruby实现它时遇到了麻烦.
你怎么建议我这样做?
R1, G1, B1 = pixel.red, pixel.green, pixel.blue
c = Colour.first
R2, G2, B2 = (c.red * 256), (c.green * 256), (c.blue * 256)
C1 = Math.sqrt((G1**)+(G2**))
C2 = Math.sqrt((B1**)+(B2**))
CAB = C1 - C2
DA = G1 - G2
DB = B1 - B2
DH = Math.sqrt((DA** + DB** - CAB**))
divergence = Math.sqrt( ((R1-R2)/2)** + (CAB/ (1+(0.048*C1)))** + ( DH / ( 1 + ( 0.014 * C1))** )
Run Code Online (Sandbox Code Playgroud)
根据其中一个建议使用LCMS的建议,我刚刚意识到RMagick(Imagemagick)我正在使用的ruby库,实际上是在拉入LCMS.这意味着我可以访问某些功能 - "预先烘焙".有人知道使用RMagick实现上述方法吗?
我想写一个返回的查询
所有相关旅行的booker_id = self.id的任务
Task.joins(:trip).where('user_id = ? OR trip.booker_id = ?', self.id, self.id)
Run Code Online (Sandbox Code Playgroud)以上返回错误
PG::AmbiguousColumn: ERROR: column reference "user_id" is ambiguous
Run Code Online (Sandbox Code Playgroud)
任何帮助/解释将不胜感激
我正在尝试使用capistrano来部署和捆绑我的rails应用程序.当我运行cap部署 - 或者更具体地说
bundle exec cap staging bundler:install --trace
Run Code Online (Sandbox Code Playgroud)
我似乎对以下堆栈跟踪有永久性错误.
** Invoke staging (first_time)
** Execute staging
** Invoke load:defaults (first_time)
** Execute load:defaults
** Invoke bundler:map_bins (first_time)
** Execute bundler:map_bins
** Invoke bundler:install (first_time)
** Execute bundler:install
DEBUG [bd567504] Running /usr/bin/env if test ! -d /var/www/TMC/current; then echo "Directory does not exist '/var/www/TMC/current'" 1>&2; false; fi on 162.243.225.14
DEBUG [bd567504] Command: if test ! -d /var/www/TMC/current; then echo "Directory does not exist '/var/www/TMC/current'" 1>&2; false; fi
DEBUG [bd567504] Finished …Run Code Online (Sandbox Code Playgroud) 我有一个方法,将返回1到100之间的数字
取决于响应(x)是否在100-90之间我想要一个响应,89-85另一个84-72另一个......等等
我用
if x > 90
response a
elsif x > 85
response b
elsif etc...
Run Code Online (Sandbox Code Playgroud)
但这看起来有点乱,是否有更好的重构方法?
非常感谢.