Обновить модель пользователя из какого-либо другого элемента управления
У меня есть модель пользователя. Я хочу обновить столбец пользователя с другого контроллера, который не связан с пользователем. Ниже приведен мой код для обновления значения.
def update
@admin=current_user
if @admin.update_attribute(:allow, params[:user][:allow])
flash[:success] = "Feature updated"
redirect_to '/recalls'
else
flash[:success]=@admin.errors.full_messages
end
end
проблема в том, что допустимое значение в БД обновляется. я могу проверить это с моей консоли рельсов. но при перенаправлении на /recalls
, он выходит из системы и перенаправляет на Вход. я не знаю, что я сделал не так. Пожалуйста, дайте мне знать. Заранее спасибо
2 ответа
Решение
Из комментария Гопала Ратора в оригинальном посте. я добавил sign_in
метод следующим образом, чтобы решить проблему
def update
@admin=current_user
if @admin.update_attribute(:allow, params[:user][:allow])
sign_in
flash[:success] = "Feature updated"
redirect_to '/recalls'
else
flash[:success]=@admin.errors.full_messages
end
end
Я тоже сталкиваюсь с той же проблемой.. Решил эту проблему с помощью чего-то вроде этого
@admin=User.find current_user.id
Пожалуйста, попробуйте это.. не уверен, что это будет работать в вашем случае..