Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 需要重新启动Puma以反映视图中的更改吗?_Ruby On Rails_Puma - Fatal编程技术网

Ruby on rails 需要重新启动Puma以反映视图中的更改吗?

Ruby on rails 需要重新启动Puma以反映视图中的更改吗?,ruby-on-rails,puma,Ruby On Rails,Puma,我刚刚对我新部署的Rails 4应用程序进行了一些新的更改。更准确地说,是视图文件中的一些更改 对我的desmay来说,在推动这些改变之后,该网站仍然显示出相同的旧视图。我做了很多调查,最后我意识到解决问题的关键是: sudo restart puma-manager 现在,这是正常的做法吗?每次推送更改时重新启动服务器?还是我配置彪马不恰当 有人能告诉我我是否可以做些什么来改善这种情况吗?Rails中的自动更新代码在机架中间件下工作 默认情况下,ActionDispatch::Reloade

我刚刚对我新部署的Rails 4应用程序进行了一些新的更改。更准确地说,是视图文件中的一些更改

对我的desmay来说,在推动这些改变之后,该网站仍然显示出相同的旧视图。我做了很多调查,最后我意识到解决问题的关键是:

sudo restart puma-manager
现在,这是正常的做法吗?每次推送更改时重新启动服务器?还是我配置彪马不恰当


有人能告诉我我是否可以做些什么来改善这种情况吗?

Rails中的自动更新代码在机架中间件下工作

默认情况下,
ActionDispatch::Reloader
包含在中间件中 仅在开发环境中使用堆栈

当请求到达服务器时。中间件
ActionDispatch::Reloader
启动,并执行插入的回调

例如:

=> bundle exec rake middleware RAILS_ENV=development
use Rack::Sendfile
use ActionDispatch::Static
use Rack::Lock
use #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x00000004b662b0>
use Rack::Runtime
use Rack::MethodOverride
use ActionDispatch::RequestId
use Rails::Rack::Logger
use ActionDispatch::ShowExceptions
use ActionDispatch::DebugExceptions
use Rollbar::Middleware::Rails::RollbarMiddleware
use ActionDispatch::RemoteIp
use ActionDispatch::Reloader #< -- here reloader!
use ActionDispatch::Callbacks
use ActiveRecord::Migration::CheckPending
use ActiveRecord::ConnectionAdapters::ConnectionManagement
use ActiveRecord::QueryCache
use ActionDispatch::Cookies
use ActionDispatch::Session::CookieStore
use ActionDispatch::Flash
use ActionDispatch::ParamsParser
use Rack::Head
use Rack::ConditionalGet
use Rack::ETag
use Warden::Manager
run MyApp::Application.routes

Rails中的自动更新代码在机架中间件下工作

默认情况下,
ActionDispatch::Reloader
包含在中间件中 仅在开发环境中使用堆栈

当请求到达服务器时。中间件
ActionDispatch::Reloader
启动,并执行插入的回调

例如:

=> bundle exec rake middleware RAILS_ENV=development
use Rack::Sendfile
use ActionDispatch::Static
use Rack::Lock
use #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x00000004b662b0>
use Rack::Runtime
use Rack::MethodOverride
use ActionDispatch::RequestId
use Rails::Rack::Logger
use ActionDispatch::ShowExceptions
use ActionDispatch::DebugExceptions
use Rollbar::Middleware::Rails::RollbarMiddleware
use ActionDispatch::RemoteIp
use ActionDispatch::Reloader #< -- here reloader!
use ActionDispatch::Callbacks
use ActiveRecord::Migration::CheckPending
use ActiveRecord::ConnectionAdapters::ConnectionManagement
use ActiveRecord::QueryCache
use ActionDispatch::Cookies
use ActionDispatch::Session::CookieStore
use ActionDispatch::Flash
use ActionDispatch::ParamsParser
use Rack::Head
use Rack::ConditionalGet
use Rack::ETag
use Warden::Manager
run MyApp::Application.routes

是的,对于每次推送,我还需要重新启动服务器以查看更改。。如果您使用Capistrano,也会有人编写puma重新启动任务。是的,对于每次推送,我还需要重新启动服务器以查看更改。。如果你使用Capistrano,也有人写puma重启任务。对不起,我没有听懂你回答中的一半单词。。。我不熟悉“机架中间件”之类的术语。你能解释一下吗?当然,看看Rails是用机架堆栈构建的。Rails只不过是几个机架而已。好吧,我想我现在已经明白了为什么它可以工作了。这很有启发性。谢谢但是有什么办法可以改变这个吗?你能澄清一下,请改变这个吗?对不起,我没有听懂你回答中的一半单词。。。我不熟悉“机架中间件”之类的术语。你能解释一下吗?当然,看看Rails是用机架堆栈构建的。Rails只不过是几个机架而已。好吧,我想我现在已经明白了为什么它可以工作了。这很有启发性。谢谢但是有什么办法可以改变这个吗?你能澄清一下吗?