before_action
で絶対にルートを再ロードするにはどうすればよいですか? Rails.application.reload_routes!
は、routes.rb
に変更がある場合にのみルートをリロードします。ここでRails 4.2:(エンジンの)ルートを強制的にリロードするには?
はルートをリロードする方法についてActionDispatch::Routingの章です:
Reloading routes
You can reload routes if you feel you must:
Rails.application.reload_routes!
This will clear all named routes and reload routes.rb if the file has been modified from last load. To absolutely force reloading, use reload!.
reload!
を言及する以外リロードを強制する方法についての詳細はありません。試しましたRails.application.reload!
のbefore_action
で動作しませんでした。 application controller
で:
before_action :reload_route
def reload_route
Rails.application.reload_routes!
end
エンジン名がMyEngine
ある場合は、そのルートを再ロードするために強制する正しい方法は何ですか?
は、なぜあなたは、実行時における 'route_helpers'をリロード強制したいですか?これは 'production'では意味をなさないでしょう – illusionist
routes.rbの定数の場合 – user938363
' Rails.application.reload_routes! 'も同様に動作します。 – user938363