Ruby on rails ruby 1.9.2 lambda带回形针
我正在将我的工作应用程序升级到1.9.2,但找不到以下问题的答案: 我在我的控制器中创建一个类似这样的资产:Ruby on rails ruby 1.9.2 lambda带回形针,ruby-on-rails,ruby,ruby-on-rails-3,lambda,paperclip,Ruby On Rails,Ruby,Ruby On Rails 3,Lambda,Paperclip,我正在将我的工作应用程序升级到1.9.2,但找不到以下问题的答案: 我在我的控制器中创建一个类似这样的资产: @asset = Asset.new(params) 然后在我的模型中,使用lambda动态生成样式,如下所示: has_attached_file :asset, :styles => lambda { |attachment| attachment.instance.choose_styles} 然后我检查参数中的某个值,如下所示: def choose_styles
@asset = Asset.new(params)
然后在我的模型中,使用lambda动态生成样式,如下所示:
has_attached_file :asset,
:styles => lambda { |attachment| attachment.instance.choose_styles}
然后我检查参数中的某个值,如下所示:
def choose_styles
if self.item_name == 'Car'
{ :small => ["200x200>"], :medium => ["400x400>"], :large => ["700x700>"], :full_screen => ["1000x700>"] }
else
........
end
问题是1.9.2中的项_name为nil,直到运行该项之后,似乎从参数设置。这一切都可以切换回1.8.7
这是任何人都能看到的帮助我的东西吗
谢谢
里克我知道这个答案不符合你的问题。顺便说一下,您可以切换到carrierwave()。您可以以更精细的方式选择格式,创建各种版本并嵌套它们 例如,ipothetic AssetUploader可以是:
...
version :thumb_200x200 do
process :resize_to_fill => [200,200]
end
version :big_600x600 do
...
end
...
version :car, :if => in_category(:car)?
version :thumb_200x200
version :another_etc
end
...
protected
def in_category?(name)
model.item_name.downcase == name.to_s
end
...
这只是一个代码示例,请根据需要进行调整;)
干杯,
A.尝试lambda的另一种语法,如
Proc.new{…code…}
或1.9的“Thanky”语法->{…code…}
在1.8.7和1.9.2中应该是相同的。你确定没有其他区别吗?两种环境中的回形针gem版本是否相同?Rails版本也是?其他可能不同的插件?有解决方案吗?我一直面临着同样的问题。在我看来:styles proc调用了7次(在任何属性设置之前调用了2次)。基于此要点得出的结论:产生了一个问题: