2
A
답변
2
당신은 모델에서 레일 환경을 확인할 수 있습니다. 존재하지 않는 클래스를로드하려고합니다로
class User < ActiveRecord::Base
unless Rails.env.development?
extend FriendlyId
friendly_id :name, use: :slugged
end
end
는 개발
class User < ActiveRecord::Base
extend FriendlyId
friendly_id :name, use: :slugged
def should_generate_new_friendly_id?
false if Rails.env.development?
end
end
0
는 Gemfile에서이를 제거하려고 :
gem 'friendly_id'
하고 Gemfile에 추가 :
group :production, :test do
gem 'friendly_id'
end
+0
이 작동하지 않는 새로운 슬러그를 생성 건너 뜁니다. – ndemoreau
그게 좋은 생각입니다. 모든 제안은 URL 재 작성을 억제하기 만합니다 (슬러그 생성을 작동 상태로 유지하는)? 또한 우리는 모든 모델 대신 보석에서 이것을 할 수 없었습니까? – ndemoreau
예, 새로운 슬러그 생성을 건너 뛸 수 있습니다. 코드를 업데이트했습니다. gem 편집은 좋은 생각이 아니지만 모델이나 초기화 프로그램에서 gem 메소드를 재정의 할 수 있습니다. – emrahbasman
내가 건너 뛰고 싶은 것은 URL 업데이트입니다. 나는 그것을 디버그하기 쉽기 때문에 dev에있는 id를 사용하여 유지하고 싶다. 또한, 이러한 종류의 메소드를 모델에서 제외시킬 수있는 방법이 있습니까? 많은 감사합니다! – ndemoreau