Как замечено в comment_controller.rb:
def create
@comment = Comment.new(params[:comment])
@comment.save
end
Я предполагаю, что это небезопасно внедрением SQL. Но каков корректный способ сделать его?.. Все примеры в соответствии с сетевым соглашением с находками.
этот код - это в безопасности от атак SQL-инъекции. Удаление делается ActiveReCord, поэтому в любое время вы называете модель
, Создать
, NEW
/ Сохранить
или любой другой метод Это делает взаимодействие базы данных, вы в порядке. Единственным исключением является если вы используете RAW SQL для одного из вариантов, например:
Comment.find(:all, :conditions => "user_id = #{params[:user_id]}")
Предпочтительная форма:
Comment.find(:all, :conditions => {:user_id => params[:user_id]})
, которая будет автоматически защищена от инъекции SQL.
Обратите внимание, что ваш пример кода безопасен от SQL-инъекции, как объяснил Алекс, но не безопасен от массовых эксплойтов присваивания .