簡體   English   中英

每次更改控制器后自動重啟 Rails 服務器

[英]Restart Rails server automatically after every change in controllers

在任何正常更改后,不需要重新啟動 Rails 服務器。 但是,當我對我的應用程序控制器進行少量更改時,如果我不重新啟動服務器,它們就不會應用。 即使我寫了錯誤的代碼並故意犯了錯誤,舊的錯誤仍然存​​在。 我該如何更改或驗證設置是否正確?

我在config/environment/development.rb file

config.cache_classes = false

對我不起作用。

UDPATE 1:

發展.rb

    Rails.application.configure do
  # Settings specified here will take precedence over those in config/application.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

  # Do not eager load code on boot.
  config.eager_load = false

  # Show full error reports and disable caching.
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false

  # Don't care if the mailer can't send.
  config.action_mailer.raise_delivery_errors = false

  # Print deprecation notices to the Rails logger.
  config.active_support.deprecation = :log

  # Raise an error on page load if there are pending migrations.
  config.active_record.migration_error = :page_load

  # Debug mode disables concatenation and preprocessing of assets.
  # This option may cause significant delays in view rendering with a large
  # number of complex assets.
  config.assets.debug = true

  # Asset digests allow you to set far-future HTTP expiration dates on all assets,
  # yet still be able to expire them through the digest params.
  config.assets.digest = true

  # Adds additional error checking when serving assets at runtime.
  # Checks for improperly declared sprockets dependencies.
  # Raises helpful error messages.
  config.assets.raise_runtime_errors = true

  # Raises error for missing translations
  # config.action_view.raise_on_missing_translations = true
end

您可以使用nodemon自動重新啟動舊的 rails 應用程序。

1) 安裝 nodemon。

sudo npm install -g nodemon

2) 在 root 目錄上創建nodemon.json文件並配置它

{
  "ignore": [
    ".git",
    "node_modules/**/node_modules"
  ],
  "watch": [
    "app/controllers/",
    "app/models/",
    "app/assets/",
    "config/",
    "db/"
  ],
  "ext": "rb yml js css scss"
}

3) 在根目錄上創建rails.sh文件以使用 nodemon 啟動 rails 應用程序。

kill -9 `cat tmp/pids/server.pid`
echo "APP READY!!!"
echo "Ruby on Rails"
rails s -d

4) 授予rails.sh文件權限。

sudo chmod +x rails.sh

5) 使用sh命令啟動服務器。

nodemon -L --exec "./rails.sh"

注意:在mac機器上驗證的步驟。 不同的操作系統可能有不同的命令或配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM