簡體   English   中英

用彪馬為生產中的所有工人重新加載路線(第5條)

[英]Reload routes with all workers in production with puma (Rails 5)

在我的應用中,我有一個custom_page模型,該模型的工作原理與其他cms一樣。 管理員/主持人可以創建一個自定義頁面,使用文本編輯器編輯內容並分配一個條目。
在自定義頁面模型中,我有以下內容:

after_create do
    Rails.application.reload_routes!
end

在路線中,我有這個:

  CustomPage.where.not(slug: nil).all.each do |page|
    get "/#{page.slug}", controller: "custom_pages", action: "show", id: page.id
  end

它在開發環境中運行良好,但是正如您可能期望在使用puma的生產中那樣,只有一個進程/線程(我不知道哪個/方式)會重新加載路由。 你們知道我如何在所有過程中重新加載路由嗎? 提前致謝

我使用通配符解決了這個問題(無論如何,重新加載路由並不是一個不錯的解決方案),所以我的路由現在看起來像這樣:

get "/*slug", to: "custom_pages#show"

在我的custom_page控制器中:

before_action :get_page

def get_page
   @page = CustomPage.friendly.find_by_slug(params[:slug])
end

這樣好多了

暫無
暫無

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

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