У меня есть способ переключить пользователя между admin или not-admin. Когда я нажимаю ссылку, я помещаюсь обратно в индекс пользователя со следующим в моей адресной строке: http://localhost:3000/users?id=1&method=toggle_admin
. Насколько я могу судить, у меня есть соответствующий код для запуска метода. Может ли кто-нибудь увидеть ошибку?Метод не вызывается, но определяется в контроллере и модели
Вот метод вид link_to:
<%= link_to 'Toggle Admin', { :controller => :users, :method => :toggle_admin, :id => user.id} %>
Вот routes.rb заявление:
match 'users/:id/toggle_admin' => 'users#toggle_admin'
Способ управления:
def toggle_admin
@user = User.find(params[:id])
User.toggle_admin(@user)
respond_to do |format|
format.html { redirect_to @users }
end
end
Метод Модель:
def toggle_admin(user)
if user.is_admin.nil or user.is_admin = ''
user.is_admin = false
end
user.toggle is_admin
user.save
end
хороший глаз. Спасибо. –