В моем интернет-магазине пользователям разрешено изменять определенные свойства своих ордеров (например, их платежный адрес), но не другие (например, адрес ip-адреса источника). Администраторам, с другой стороны, разрешено изменять все свойства заказа.Использование: attr_accessible с авторизацией на основе ролей
Да, это, как я могу использовать :attr_accessible
для правильной защиты моей модели заказа? Или мне нужно будет использовать его, чтобы отметить все атрибуты, которые могут изменять администраторы, и воздерживаться от использования Order.update_attributes(params[:order])
в тех действиях контроллера, к которым могут обращаться обычные пользователи?
В Rails 3.1 добавлена опция: as =>: role, где вы можете назначать атрибуты. Итак, теперь это было построено. Http://api.rubyonrails.org/files/activemodel/lib/active_model/mass_assignment_security_rb.html –