在我的项目设计中,为管理面板提供用户注册/身份验证。我需要添加 API 方法,它将登录用户并返回带有状态 + 会话 cookie 的 JSON。
路线.rb
devise_for :user, :controllers => {sessions: 'sessions'}
会话控制器
class SessionsController < Devise::SessionsController
skip_before_filter :verify_authenticity_token
def create
resource = warden.authenticate!(:scrope => resource_name, :recall => "#{controller_path}#failure")
sign_in(resource_name, resource)
respond_to do |format|
format.html { respond_with resource, :location => after_sign_in_path_for(resource) }
format.json { render json: {:success => 1}}
end
end
如果我将数据发布到 user/sign_in.json,它将呈现 {"success": 1} 这正是我需要的。
但问题是如何将 user/sign_in.json 移动到一些自定义 url 上,例如 /api/sign_in ?