У меня есть следующий код, который создается объектом (rmodal
).Как использовать полиморфные ассоциации в защищенном виде
Это класс имеет полиморфные ассоциации с несколькими другими классами (cmodal
, umodal
, ccmodal
, pmodal
, emodal
)
Создание rmodal
имеет форму со скрытым полем, которые включают его тип (cmodal
, umodal
и т. д.) и его идентификационный номер (r_id
)
Является ли следующий код достаточно защищенным? кондуктор в настоящее время отмечает, что эта линия может привести к удаленному кода exectuion
@r_type = params[:r].delete :r_type
if (%w(cmodal umodal ccmodal pmodal emodal).include? @r_type)
@rmodal = @r_type.classify.constantize.find(@r_id) rescue nil
Я угадываю, что с тех пор я проверяю, что r_type
является одним из приемлемых вариантов, что это хорошо.
Это правильный способ сделать это и достаточно ли он защищен?