Ваша настройка здесь не имеет особого смысла.В новом действии вы не должны искать пользователя.Скорее всего, если ваша маршрутизация используется правильно, вы даже не получите parma [: id].То же самое касается метода create, который (как следует из названия) должен создавать новую запись пользователя, а не искать ее.
Новое действие должно создавать только новую запись (без сохранения), например
def new
@user = User.new
... # no building of groups here, since record is still empty, does not even have an id
end
теперь он должен использовать этот пользовательский объект для визуализации формы ввода в new.html.erb
После того, как пользователь отправляет новую форму, он завершает действие create.Теперь вы создаете нового пользователя и фактически сохраняете в базе данных:
def create
@user = User.new(params[:user])
if @user.save
# maybe create some groups here
redirect_to @user
else
render :action => "new"
end
end
На данный момент это не имеет ничего общего с разработкой и аутентификацией пользователя.
Это только приблизительный обзорпокажите вам наиболее распространенный процесс (как вы могли бы найти в любом хорошем учебном пособии по RoR). В противном случае ваш вопрос не очень ясен о том, что именно вы хотите делать и как это связано с devise и current_user.Скорее всего, у вас будут какие-то контроллеры и действия, которые позволят пользователю видеть свою электронную почту, группы и другие данные, специфичные для пользователя.В этом случае эти контроллеры должны будут использовать current_user (после входа в систему).Многие проекты имеют дополнительные функциональные возможности для интерфейсов администратора, которые позволяют конкретному пользователю просматривать списки пользователей и их данные.В этом случае вы будете использовать current_user, чтобы убедиться, что у пользователя есть права администратора, а также другие функции поиска и поиска для отображения данных администрируемых пользователей.