我真的不知道如何询问我要求的东西......如果我知道我在寻找什么,我会谷歌!
所以,我有一组载波版本的图像名称image00,image01,image02等,直到image25存储为:
@photo.main.image00
,@photo.main.image01
等......
我希望能够使用控制器发布这些图像。但我不知道如何将请求串起来。我有Objective-c,javascript,Ruby和许多其他语言在我脑海中争夺空间,Ruby似乎已经输掉了!
我希望能够拨打电话,例如:
@photopiece = Base64.strict_encode64(File.read(@photos.main.imageXX.current_path))
但不知道如何用数字替换XX并仍然编码文件。
我试过了:
imagestring = "@photos.main.image#{sendPiece}.current_path"
然后
@photopiece = Base64.strict_encode(File.read(imagestring))
但那没有做任何事......我几乎听不到编辑器在嘲笑我(这就是我现在的偏执狂!)
那么,我如何让照片名称出现在表格中:
@photos.main.imageXX.current_path
这样他们可以通过strict_encode解析吗?
提前感谢您的帮助!读我的随意......
PS。为真正糟糕的标题道歉!如果你知道我要求的东西,请改变它!
答案 0 :(得分:1)
您可以使用public_send
piece = @photos.main.public_send("image#{sendPiece}")
@photopiece = Base64.strict_encode64(File.read(piece.current_path))
答案 1 :(得分:0)
也许,它比愚蠢的eval(params ..)更安全:
number_is_safe = !!Float(sendPiece) rescue false
if number_is_safe
path = eval "@photos.main.image#{sendPiece}.current_path"
@photopiece = Base64.strict_encode(File.read(path))
end
jvnill提出了更好的解决方案:
piece = @photos.main.public_send("image#{sendPiece}")
@photopiece = Base64.strict_encode64(File.read(piece.current_path))