[RUBY-ON-RAILS] 고안 비밀 키가 설정되지 않았습니다
RUBY-ON-RAILS고안 비밀 키가 설정되지 않았습니다
나는 관리 백 엔드에 대한 Active 관리자 보석을 사용하여 레일 4 응용 프로그램을 개발하고있다. 차례로 활성 관리자는 사용자 인증을 위해 고안를 사용합니다. 나는 VPS 서버에 카피 스트라 노를 사용하여 응용 프로그램을 배포 할 때 지금, 나는 오류가 아래의 수 :
rake aborted!
Devise.secret_key was not set. Please add the following to your Devise initializer:
config.secret_key = '-- secret key --'
구글 검색이 오류를 위해 많은 일을하지 않습니다. 어떤 제안이 왜 오류를 던지고있다? 내가 이니셜 라이저 / devise.rb 이러한 설정 키를 설정할 수있는 장소를 찾을 수 없기 때문에 나는, 초기화 고안하는 비밀 키를 추가해야합니까?
해결법
-
==============================
1.오늘 아침 번들 업데이 트를 실행과 같은 오류를 받기 시작했다.
오늘 아침 번들 업데이 트를 실행과 같은 오류를 받기 시작했다.
I는 설정 / 초기화 / devise.rb에서 선으로 첨가하고, 오류를 수정 하였다.
이는 그것을 소개하는 커밋 될 것으로 보인다.
-
==============================
2.레일 4.1 고안 3.2.4에 나를 위해 일한 무엇에 설정 / 초기화 / devise.rb입니다 :
레일 4.1 고안 3.2.4에 나를 위해 일한 무엇에 설정 / 초기화 / devise.rb입니다 :
config.secret_key = ENV['DEVISE_SECRET_KEY'] if Rails.env.production?
-
==============================
3.YourAppName :: Application.config.secret_key_base에 키 설정 위치 기본값이 발견 레일 4 + 응용 프로그램에 대한 고안 3.2.3 현재의 설정 / 초기화 / secret_token.rb
YourAppName :: Application.config.secret_key_base에 키 설정 위치 기본값이 발견 레일 4 + 응용 프로그램에 대한 고안 3.2.3 현재의 설정 / 초기화 / secret_token.rb
-
==============================
4.이건 내 문제를 해결했다 :
이건 내 문제를 해결했다 :
당신의 설정 / 초기화 / devise.rb 파일에 아래의 코드를 추가합니다.
config.secret_key = '-- secret key --'
교체 '- 비밀 key--'자신의 키를. 나는 보안 목적에 대한 ENV 변수에 저장하는 것이 좋습니다.
-
==============================
5.변경 로그에 따라 :
변경 로그에 따라 :
나는에 설정 / secrets.yml 가서 생산 값을 변경했습니다.
전에:
production: secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
후:
production: secret_key_base: string of charaters
물론, 그는 나중에 설정합니다 환경 변수로 설정해야합니다,하지만 적어도이 실행되었다. 나는 번들 간부 레이크 비밀을 사용하여 내 문자열을 얻었다.
-
==============================
6.가 될 수 있을까, 당신은 레일 g 고안를 실행하지 않았다 : 설치?
가 될 수 있을까, 당신은 레일 g 고안를 실행하지 않았다 : 설치?
실행 레일은 이전 명령이이 문제를 유발하지 않고 유증 사용자를 생성합니다.
-
==============================
7.에서 설정 / 초기화 / devise.rb 내가 넣어 :
에서 설정 / 초기화 / devise.rb 내가 넣어 :
config.secret_key = ENV["SECRET_KEY_BASE"] if Rails.env.production?
당신이 세우면 때문에 :
$ heroku config
당신은 모드 생산을위한 secret_key_base를 볼 수 있습니다.
-
==============================
8.나는이 추악한 방법 내 초기화 문제를 해결 :
나는이 추악한 방법 내 초기화 문제를 해결 :
config.secret_key = 'some1234keyq23' if Rails.env == 'production'
에서 설정 / 초기화 / devise.rb 지금은 개발뿐만 아니라 생산에 작품!
-
==============================
9.사용자 설정 \ 초기화 \ secret_token.rb가있는 경우 확인 :
사용자 설정 \ 초기화 \ secret_token.rb가있는 경우 확인 :
YourAppName::Application.config.secret_token
그것은해야한다:
YourAppName::Application.config.secret_key_base
-
==============================
10.나는 자식에서 새 컴퓨터에 내 저장소를 복제. 그만큼
나는 자식에서 새 컴퓨터에 내 저장소를 복제. 그만큼
config/secrets.yml
해당 파일이 존재하지 않았다, 그래서 파일 내 .gitignore 목록이며, 유증 파일을 만들지 않습니다.
내가 파일을 추가 한 후 다시 달렸다
rails generate devise MODEL
그것은했다.
-
==============================
11.나는 같은 문제가 있습니다. 문제는 routes.rb에서이 라인에 의해 발생했다 :
나는 같은 문제가 있습니다. 문제는 routes.rb에서이 라인에 의해 발생했다 :
devise_for :users, :skip => [:registrations] as :user do get 'users/edit' => 'devise/registrations#edit', :as => 'edit_user_registration' put 'users' => 'devise/registrations#update', :as => 'user_registration' get '/users/sign_out' => 'devise/sessions#destroy' end
내가 그들을 주석과 그 후 나는 실행
$ rails generate devise:install
그리고 그것은 완벽하게 평가했다. 그리고 이후 내가 주석 루트가.
-
==============================
12.음,이 게시물 여기에 시도 거의 모든 다음되었다. 나는 devise.rb의 열쇠를 추가했습니다. 하지만 난 여전히 같은 오류가 발생했다.
음,이 게시물 여기에 시도 거의 모든 다음되었다. 나는 devise.rb의 열쇠를 추가했습니다. 하지만 난 여전히 같은 오류가 발생했다.
어쩌면 바보 같은 대답하지만, 내가했던 일은 저장소에 devise.rb 키를 밀어했다.
-
==============================
13.고치다:
고치다:
기술적 세부 사항:
-
==============================
14.레일 5.2.0과 고안 4.4.1와 같은 문제에 란
레일 5.2.0과 고안 4.4.1와 같은 문제에 란
/config/initializers/devise.rb에 다음 드롭
config.secret_key = Rails.application.credentials.secret_key_base
-
==============================
15.위의 것들에 좀 더 완전한 대답을하려고 : devise_auth_token 보석의 문서에서 언급 한 바와 같이
위의 것들에 좀 더 완전한 대답을하려고 : devise_auth_token 보석의 문서에서 언급 한 바와 같이
Devise.setup do |config| # The e-mail address that mail will appear to be sent from # If absent, mail is sent from "please-change-me-at-config-initializers-devise@example.com" config.mailer_sender = "support@myapp.com" # If using rails-api, you may want to tell devise to not use ActionDispatch::Flash # middleware b/c rails-api does not include it. # See: http://stackoverflow.com/q/19600905/806956 config.navigational_formats = [:json] end
저도 같은 문제가 있고, 여기에 언급처럼, 나는 유증 이니셜을 생성하고, 그것에 config.secret_key = ENV [ '고안 SECRET_KEY'] 줄을 추가합니다.
-
==============================
16.나는 적합한 솔루션을 모르지만 그것은 일하고있다. 당신은 그것을 시도 할 수 있습니다. 내 GitLab 계정에서 내 프로젝트를 복제하고 있었고, 난 내 로컬 서버에서 실행할 때 오류 메시지가 :
나는 적합한 솔루션을 모르지만 그것은 일하고있다. 당신은 그것을 시도 할 수 있습니다. 내 GitLab 계정에서 내 프로젝트를 복제하고 있었고, 난 내 로컬 서버에서 실행할 때 오류 메시지가 :
레이크 중단! Devise.secret_key가 설정되지 않았습니다. 당신의 고안 초기화 다음을 추가하십시오 : config.secret_key = '- 비밀 키 -'
열기 설정 / 초기화 / devise.rb이 줄을 추가
config.secret_key = '<= % ENV [ "SECRET_KEY_BASE"] %>'
이 코드 라인은 내 문제를 해결된다.
from https://stackoverflow.com/questions/18080910/devise-secret-key-was-not-set by cc-by-sa and MIT license
'RUBY-ON-RAILS' 카테고리의 다른 글
[RUBY-ON-RAILS] 레일 3 개 양식을 제출에서 제거 "UTF8 = ✓" (0) | 2020.02.14 |
---|---|
[RUBY-ON-RAILS] 어떻게 액티브 콜백을 건너 뛰려면? [복제] (0) | 2020.02.14 |
[RUBY-ON-RAILS] 정의되지 않은 메서드 '구성': 오류 발사는 서버를 레일 (0) | 2020.02.14 |
[RUBY-ON-RAILS] 여러 foreign_keys와 모델 has_many 레일 (0) | 2020.02.14 |
[RUBY-ON-RAILS] 4 레일 : 모델의 네임없이 하위 경로에 레일 모델을 구성? (0) | 2020.02.13 |