根据Ruby on Rails 指南:缓存,在开发和测试环境中默认禁用缓存。如果我做一个小的 CSS 更改,运行rails server
并访问我的网站localhost:3000
,我可以看到我的更改。但是,如果我在 iPhone 上访问我的 rails 服务器10.0.1.2:3000
,CSS 不会更新,即使 Chrome 处于隐身模式。当我尝试其他具有空缓存的 iPhone 时,变化就在那里。
我发现了一个描述相同问题的堆栈溢出帖子。以下是建议的解决方案:
- 删除
public/assets
目录。我没有。 - 添加
config.serve_static_assets = false
到environments/development.rb
. 它已经在那里了。 - 删除
/tmp/cache/assets
、添加并config.serve_static_assets = false
重新environments/development.rb
启动服务器。我试过了,但没有用。
这是我的相关environments/development.rb
配置:
# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false
# Show full error reports and disable caching
config.consider_all_requests_local = true
config.action_controller.perform_caching = false