Я знаю, что раньше это работало, но по какой-то причине вызов метода current_user в одном из моих действий create продолжает возвращать ноль.Он отлично работает, когда используется в другом контроллере и т. Д., Например, на боковой панели для отображения моего имени пользователя.
class CombatInstancesController < ApplicationController
def create
# when creating a new instance, check if the current user has one and destroy it
CombatInstance.find(current_user.combat_instance.id).destroy if current_user.combat_instance
# Now create the new one
render :json => current_user.create_combat_instance
end
def update
@combat_instance = current_user.combat_instance
@combat_instance.trigger_actions(params[:actions])
@combat_instance.perform_ai_actions
@combat_instance.save # should we instead call this in an after hook?
render :json => @combat_instance
end
end
В строке CombatInstance.find(current_user.combat_instance.id).destroy if current_user.combat_instance
строка current_user возвращает nil.Рабочий процесс таков: я захожу на домашнюю страницу, я просто захожу.Я вижу мое имя пользователя вверху, которое генерируется с помощью помощника current_user в представлении.Тем не менее, когда я отправляю форму, которая попадает в действие здесь, он возвращает ноль.