我在这里做错了什么?在RoR中链接到eval()的问题
这似乎在我的代码罚款早期的作品:
[email protected] do |img|
-link_to eval(params[:action] + '_image_path(img)') do
=image_tag img.image.url(:thumbnail)
但是,这是行不通的。为什么不?
-link_to eval(params[:action] + '_image_path(@featured_image)') do
=image_tag @featured_image.image.url(:display)
我看到“遗漏的类型错误:无法调用未定义的方法‘绑定’”似乎与调用_image_path(@featured_image)”的问题。 :(
这似乎是一个可能的代码注入矢量。例如,如果我以某种方式设法使动作是'系统(“RM -rf〜')#',你已经失去了你的应用程序,即使没有,为了提高性能,一个更好的方法是'send(“#{action} _image_path”,img)' – Chuck 2010-12-10 22:50:53
不知道这是如何回答我的问题..但谢谢。第一部分工作正常,代码的第二个片段没有。 – mtay 2010-12-11 00:15:45