Ruby on rails 重写rails方法避免深度堆栈
我的rails应用程序有点问题 我有两个图像上传:主图像和第二图像cms 当我显示新闻时,如果第二个图像存在,则返回第二个图像,否则返回主图像 我需要对我的所有图像版本进行相同的行为 我试着用Ruby on rails 重写rails方法避免深度堆栈,ruby-on-rails,carrierwave,Ruby On Rails,Carrierwave,我的rails应用程序有点问题 我有两个图像上传:主图像和第二图像cms 当我显示新闻时,如果第二个图像存在,则返回第二个图像,否则返回主图像 我需要对我的所有图像版本进行相同的行为 我试着用 def main_image if second_image.file return second_image else return main_image end 但这会造成复发。我怎样才能解决这个问题 更新 我忘了添加一个问题 我的主图像有4个版本(完整、方形、块和拇指) 我的第二张
def main_image
if second_image.file
return second_image
else
return main_image
end
但这会造成复发。我怎样才能解决这个问题
更新
我忘了添加一个问题
我的主图像有4个版本(完整、方形、块和拇指)
我的第二张图片只有3个版本(正方形、方块和拇指)
主映像版本已满始终存在。将您的方法重命名为除主映像之外的其他方法。:
def image
second_image.file ? second_image : main_image
end
添加更多carrierwave详细信息简单的解决方案是提供一个适当命名的方法,例如,
get\u image
,用于实际工作。这也更容易沟通。