我在這裏做錯了什麼?在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