0

アプリ全体のスラッグ ( Slugalicious gemと Sluggable テーブルを使用) を使用するアプリがあり、次のコードを使用してこれらのスラッグにルーティングしました。

  #Slugs
  begin  
      Slug.all.each do |s|
        begin
          get "#{s.slug}" => "#{s.sluggable_type.downcase.pluralize}#show", :id => s.slug
        rescue
        end
      end
  rescue
  end

現在、このコードでスラッグ モデルを更新すると、ルートが更新されます。

after_save :update_routes

def update_routes
    Rails.application.reload_routes!
end

これはdevで完全に機能します:

ルートは開発でうまく機能します

私が得ている問題は、新しいスラッグを更新または作成すると、Heroku がそれに対応するように更新されないことです。それは開発で機能し、(紛らわしいことに)Herokuで「heroku run rake routes」を実行すると機能します。しかし、新しい URL を参照しようとすると、アプリは 404 を表示するだけです。アプリを再デプロイすると、すべてのルートが機能するため、アプリ全体のルートを更新することと関係があると思います

この質問は、Heroku で複数のプロセスを実行することと関係があると言っていましたが、私はまだこれを見つけていません。

何か案は?よろしくお願いします

4

1 に答える 1