从lambda返回的相同哈希表现不同

时间:2014-04-04 15:46:54

标签: ruby ruby-on-rails-4 paperclip

我正在使用Paperclip上传到Rails 4图像服务器。我们希望跟踪不同的图像大小,并且如果不存在具有所请求大小的现有样式,则能够动态生成新大小。

为此,除Photo模型外,我们还拥有属于Size的{​​{1}}模型。我正在使用Photolambda生成哈希对象,并将其传递给Paperclip的photo.instance.sizes参数。哈希生成得很好,当我将其记录到标准输出时,我看到一个具有Paperclip所需格式的默认大小的哈希。 :styles(值得注意的是,生成的哈希中的键是符号的,Paperclip不喜欢字符串键)

{:medium=>"300x300#"}返回此哈希时,不会生成其他样式,只保存原始分辨率。但是,当我返回具有相同内容的硬编码散列(下面代码中的lambda var)时,会生成附加样式“medium”(与原始一起)。

通过记录default比较返回true,我确保硬编码哈希与从photo.instance.sizes生成的哈希完全相同。

以下是Photo模型中的===

has_attached_file

非常感谢任何见解(或替代方案)!

0 个答案:

没有答案