Я создаю приложение Rails, которое представляет собой платформу для блогов, со многими авторами. Моя модель Пользователь имеет логический атрибут : writer , указывающий, имеет ли конкретный пользователь разрешение на публикацию статьи. Во избежание массового назначения атрибут : writer имеет значение NOT , указанное в attr_accessible для модели User . Вместо этого я подумал о создании функции, аналогичной следующей, чтобы разрешить переключение прав записи:
def toggle_writer
if User.find(:id).writer?
User.find(:id).update_attribute(:writer, false)
else
User.find(:id).update_attribute(:writer, true)
end
flash[:success] = "User permissions toggled."
redirect_to admintools_users_path
end
У меня есть несколько вопросов относительно этого подхода:
- Как бы я вызвал это из представления? Есть ли способ вызвать функцию через link_to или button_for ?
- Куда бы я положил такую функцию? В контроллере или помощнике?
- Нужно ли мне редактировать какие-либо маршруты в файле config / rout.rb ?
Заранее спасибо за помощь!