Привет, ребята, я создал несколько пользовательских аутентификаций благодаря railscasts.com, но я несколько застрял, поскольку мне нужно ограничить своих пользователей от редактирования профилей других пользователей.
Вот мои методы authenticate_user и current_user:
private
def current_user
@current_user ||= User.find_by_auth_token!(cookies[:auth_token]) if cookies[:auth_token]
end
def authenticate_user!
if current_user.nil?
redirect_to login_url, :alert => "You must first log in to access this page"
end
end
Вот фильтр before_filter в моем UsersController :
before_filter :authenticate_user!, :only => [:edit, :update, :destroy]`
РЕДАКТИРОВАТЬ: Исправлено благодаря alock27.
Мне пришлось отредактировать свой users_controller и изменить действие редактирования следующим образом:
@user = User.find(params[:id]
redirect_to root_url unless current_user == @user