ユーザーを禁止しようとしていますが、期待どおりに機能していません。おそらく、自分が何をしているのか見当がつかないためです。
Routes:
resources :users do
collection do
post 'ban'
end
end
class UsersController < ApplicationController
def ban
@user = User.find(params[:id])
if current_user.admin?
@user.banned = true
@user.avatar = nil unless @user.avatar.nil?
@user.banned_by = current_user.full_name
@user.profile = nil unless @user.profile.nil?
@user.save
redirect_to current_user, notice: "User has been banned."
end
end
end
私からしてみれば:
<%= link_to "Ban User", ban_users_path(:id => @user.id), :method=>:post %>
何らかの理由で、パラメーター「ban」を渡し、ユーザーが見つからないと言います。