Я пытаюсь создать RESTful API с рельсами. Когда я пытаюсь http://localhost:3000/api/v1/projects.json?token=kS8xi7YzaUDEmbmi9XL6
я получаю сообщение об ошибке:
Parameters: {"token"=>"kS8xi7YzaUDEmbmi9XL6"}
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."authentication_token" = 'kS8xi7YzaUDEmbmi9XL6' LIMIT 1
Completed 500 Internal Server Error in 3ms
ActiveSupport::JSON::Encoding::CircularReferenceError (object references itself):
app/controllers/api/v1/projects_controller.rb:3:in `index'
Базовый контроллер
class Api::V1::BaseController < ActionController::Base
before_filter :authenticate_user
respond_to :json
private
def authenticate_user
@current_user = User.find_by_authentication_token(params[:token])
unless @current_user
respond_with( {:error => "Token is invalid."} )
end
end
def current_user
@current_user
end
end
Главный контроллер
class Api::V1::ProjectsController < Api::V1::BaseController
def index
respond_with(Project.for(current_user))
end
end
При попытке в консоли User.find_by_authentication_token("kS8xi7YzaUDEmbmi9XL6")
дает правильного пользователя. При отправке этого же токена через params он входит в эту загадочную ошибку. Что мне здесь не хватает?
Спасибо