我继承了一个Ionic应用程序,该应用程序使用ng-token-auth+ devise_token_auth来处理身份验证以及正面和背面之间的会话.
发生的事情很奇怪.有时(特别是连接速度慢)请求(或响应)丢失,之后我只得到401http错误.
我知道,每当我发送请求时,令牌都会过期,但是当xhr请求被取消时(由我认为是服务器,或者是浏览器,我不知道),令牌已过期而未被新生成的令牌替换通过devise_token_auth宝石.
我知道Rails,但我不熟悉Angular,既不是Ionic,也不知道到底在哪里.
在阅读了很多SO答案之后,似乎没有人出现我的问题(在本地和分期/生产中发生),我检查了以下内容
storage被设为localStorage.config.batch_request_buffer_throttle = 20.seconds 令我感到困惑的是,它有时只会发生,而不是总是发生.(并且后端没有错误)
我在devise_token_auth文档中找到的唯一解决方法是更改config.change_headers_on_each_request以false避免以这种方式重新生成令牌.
但我不喜欢这种解决方案,因为我认为它以不安全的方式隐藏真正的问题,而不是解决令牌丢失问题.有什么建议吗?
我有一个非常具体的问题.我不想做一个控制器测试,而是一个请求测试.而且我不想使用Capybara因为我不想测试用户交互但只想测试响应状态.
我在spec/requests/api/garage_spec.rb下进行了以下测试
require 'spec_helper'
describe "Garages" do
describe "index" do
it "should return status 200" do
get 'http://api.localhost.dev/garages'
response.status.should be(200)
response.body.should_not be_empty
end
end
end
Run Code Online (Sandbox Code Playgroud)
这有效.但是因为我必须做更多的测试..有没有办法避免重复这个?http://api.localhost.dev
我尝试过setup { host! 'api.localhost.dev' }但它没有做任何事情.阿before(:each)块设置@request.host的东西,当然崩溃,因为@request是在执行任何HTTP请求之前为零.
通过这种方式正确设置路径(实际上它们可以正常工作)
namespace :api, path: '/', constraints: { subdomain: 'api' } do
resources :garages, only: :index
end
Run Code Online (Sandbox Code Playgroud) 
上面的图片显示了我的问题,通过许多博客,Godaddy支持,堆栈溢出问题.面对这个问题一个月,所以最后Stack社区提供帮助.
我的根文件夹中没有web.config文件,但.htaccess文件的更改不会影响永久链接. 我应该怎么做才能创建这种永久链接结构www.example.com/category/postname,因为我当前的固定链接结构是 http://www.example.com/?page_id=104 托管服务器Godaddy与windows托管环境的详细信息和iis 7服务器.Godaddy在帮助中心对此没有任何了解.
我的gemset有问题.
我在计算机上进行全新安装后创建了一个新的,只是在克隆了回购后一步.
正在运行,bundle install但我收到此错误
Could not find gem 'sprockets (= 2.2.2.backport2) ruby' in the gems available on this machine
我正在使用Rails 3.2.11和ruby 2.1我遵循了bootstrap-sass 自述文件的建议
但它不起作用
这是我的Gemfile资产组的一部分
group :assets do
gem 'sass-rails', " ~> 3.2.3"
gem 'compass-rails'
gem 'sprockets-rails', '=2.0.0.backport1'
gem 'sprockets', '=2.2.2.backport2'
gem 'bootstrap-sass', '~> 3.1.1'
gem 'coffee-rails', "~> 3.2.1"
gem 'uglifier', '>=1.0.3'
gem 'eco'
gem 'i18n-js'
end
Run Code Online (Sandbox Code Playgroud)
该项目适用于其他机器.我能做什么?
更新问题
现在我有同样的问题但是rbenv,我不知道如何解决它,因为rbenv没有gemsets!
angularjs ×1
cordova ×1
iis ×1
permalinks ×1
rspec ×1
ruby ×1
sprockets ×1
web-config ×1
wordpress ×1