gpt4 book ai didi

ruby-on-rails - 带回形针的 ruby​​ 1.9.2 lambda

转载 作者:数据小太阳 更新时间:2023-10-29 07:40:00 25 4
gpt4 key购买 nike

我正在将我的工作应用程序升级到 1.9.2,但找不到以下问题的答案:

我在我的 Controller 中创建了一个这样的 Assets :

@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

问题是 item_name 在 1.9.2 中是 nil,直到它运行之后似乎是从参数中设置的。这一切都可以切换回 1.8.7

任何人都可以看到帮助我的东西吗??

谢谢 rake

最佳答案

我知道这不是适合您问题的答案。顺便说一句,您可以切换到载波 ( https://github.com/jnicklas/carrierwave )。您可以更精细地选择格式,创建各种版本并嵌套它们。

例如,假设的 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
...

这只是一个代码示例,请根据您的需要进行调整;)

干杯,答:

关于ruby-on-rails - 带回形针的 ruby​​ 1.9.2 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5967703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com