Что я здесь делаю неправильно?Проблемы со ссылкой на eval() в RoR
Это, кажется, прекрасно работать раньше в моем коде:
[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)
Я вижу «Uncaught TypeError: Невозможно вызвать метод„привязки“неопределенных» Там, как представляется, проблема с вызовом _image_path (@featured_image). :(
Это кажется возможным вектором инъекции кода. Например, если я каким-то образом удается сделать действие быть 'системы ('гт -rf ~ ') # ', вы потеряли свое приложение. Даже если это не так, просто для последствий производительности лучшим способом будет« send («# {action} _image_path», img). – Chuck
Хм я не знаю, как это отвечает на мой вопрос .. но спасибо. Первая часть работает нормально, второй фрагмент кода не делает. – mtay