Tak więc próbuję wdrożyć moją aplikację rails w produkcji. Kiedy wchodzę na stronę, dostaję błąd 500. Kiedy idę do moich dzienników błędów pojawia się następujący błąd:szyny secret_key_base nie są rozpoznawane w produkcji
Exception RuntimeError in Rack application object (Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`)
Używam Rails 4.1 i mój config/secrets.yml wygląda następująco:
development:
secret_key_base: <development key>
test:
secret_key_base: <test key>
# Do not keep production secrets in the repository,
# instead read values from the environment.
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
Pobiegłem grabie tajemnicą, aby uzyskać klucz i umieść eksport w moim pliku bash_profile i pozyskaj go. Uruchomiłem atuty rake: prekompiluj z powodzeniem. Mimo to wciąż dostaję tego błędu. Jakieś pomysły?
Aktualizacja: próbowałem zaktualizować wyświetlony komunikat o błędzie, aby podać nieco lepsze informacje .... i komunikat nie został zaktualizowany. Następnie próbowałem dodać klucz bezpośrednio do pliku yml zamiast używać zmiennej środowiskowej i nadal nie ma kości. Jestem uruchomiony na hostmonsterze, więc nie mogę zrestartować serwera ..... ale coś mi mówi, że to musi być zrobione ...
Aktualizacja 2: Po przespaniu w nocy wydaje się, że ten problem nie jest dłużej problem. To musiało być jakieś buforowanie. Teraz mój problem polega na tym, że próbuje użyć starej konfiguracji, którą zmieniłem kilka dni temu dla mojej bazy danych. Jeśli wymyślę, jak unieważnić pamięć podręczną, opublikuję ją tutaj i oznaczy jako odpowiedź. Jeśli ktoś wie, jak to zrobić, proszę dać mi znać, a ja oznaczy go jako odpowiedź. Korzystam z HostMonster jako mojego hostingu i postępuję zgodnie z instrukcjami, które mają na swojej stronie dla hostingu mojej aplikacji rails.
Używam Hostmonster do hostowania tej aplikacji (dzielonego hostingu) ... jak mogę zrestartować mój serwer? –
Również w 4.1 nie ma config/initializers/secret_token.rb. Teraz jest tylko plik config/secrets.yml i opublikowałem go powyżej –
Sprawdź ustawienia wdrażania. Prawdopodobnie musisz określić config/secrets.yml w linked_files (jak database.yml jeśli używasz capistrano) –