2015-11-05 6 views
5

Podczas tworzenia nowej aplikacji Rails domyślnie wyświetla stronę "Witamy w Railsach" pod adresem /, chyba że podasz alternatywę root w routes.rb.Czy mogę usunąć domyślny katalog główny w aplikacji Rails bez tworzenia nowego?

Moja aplikacja obecnie obsługuje tylko rzeczy z podściełania (na przykład /api/v1/), więc uzyskanie dostępu do numeru / powinno skutkować 404. Jak mogę to zrobić?

+0

Na przykład, "root do:" home # no_root'', który wyrenderuje 404 –

+0

To wydaje się działać; czy nie ma lepszego sposobu na zrobienie tego? – DanielGibbs

+0

Aplikacje zwykle mają korzeń :) –

Odpowiedz

5

Jeśli chcesz renderować odpowiedź 404, są dwa podejścia, które mogę wymyślić.

Po pierwsze, można droga do bielizny, i powrócić prosty 404 odpowiedź:

# config/routes.rb 
root to: proc { [404, {}, ["Not found."]] } 

Po drugie, można podjąć oczywistej trasy i punkt nasady do akcji kontrolera, która zwraca 404:

# config/routes.rb 
root to: "application#not_found" 

# app/controllers/application_controller.rb 
def not_found 
    render text: "Not found.", status: 404 
end 

Trzecią opcją jest oczywiście przejście do nieistniejącej akcji, ale nie sądzę, że jest to dobry pomysł, ponieważ intencja jest ukryta i można ją łatwo wziąć za pomyłkę.

Powiązane problemy