Я унаследовал небольшое приложение rails, и мне нужно немного его расширить. Это на самом деле довольно просто, но я хочу убедиться, что я делаю это правильно ...
Если я захожу на myapp: 3000 / api / people, я получаю полный список людей в формате XML. Я хочу передать param в URL, чтобы я мог возвращать пользователей, которые соответствуют логину или электронной почте, например yapp: 3000 / api / people? login = jsmith даст мне человека с соответствующим логином. Вот код:
def index
if params.size > 2 # We have 'action' & 'controller' by default
if params['login']
@person = [Person.find(:first, :conditions => { :login => params['login'] })]
elsif params['email']
@persons = [Person.find(:first, :conditions => { :email => params['email'] })]
end
else
@persons = Person.find(:all)
end
end
Два вопроса ...
- Это безопасно? Защищает ли ActiveRecord меня от атак с использованием SQL-инъекций (обратите внимание, я доверяю входящим параметрам)
- Это лучший способ сделать это, или есть какая-то автоматическая функция рельсов, с которой я не знаком?