Devise - current_user ноль по запросу - PullRequest
2 голосов
/ 15 августа 2011

Я знаю, что раньше это работало, но по какой-то причине вызов метода 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 в представлении.Тем не менее, когда я отправляю форму, которая попадает в действие здесь, он возвращает ноль.

1 Ответ

3 голосов
/ 15 августа 2011

Используете ли вы Rails 3 с вызовами Ajax?

Убедитесь, что в вашем заголовке есть

<%= csrf_meta_tag %> 

.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...