목표 : ruby on rails 앱은 테이블의 정보를 동적으로 빌드하므로 누군가가 테이블의 정보를 편집 할 때 두 서버에서 자동으로 경로를 새로 고치는 방법이 필요합니다. 템플리트를 포함하는 뷰에 폴더가 있습니다. 해당 뷰에 대한 경로가 자동으로 테이블의 데이터를 기반으로 생성됩니다2 대의 서버가있는 레일즈 애플리케이션의 루비 경로를 새로 고치는 방법은 무엇입니까?
routes.rb
namespace :templates do
templates = PdfTemplate.all.pluck(:shortcode)
resources :pdfs, only: templates do
templates.each do |template|
get template.to_s, on: :collection
end
end
end
우리는 경로가 이벤트 누군가에 자동으로 업데이트 할 템플릿의 단축 코드의 변경 데이터베이스
내 시도 : 이전에, 나는 우리가 필요로하는 것처럼 경로를 갱신하는 Rails.application.reload_routes!
을 수행하는 after_save
attribute_changed?
경우 다시 모델에 전화를 추가했습니다. 그러나 우리의 애플 리케이션은 2 개의 서버를 가지고 있기 때문에 하나의 서버에있는 라우트 만 업데이트하므로 둘 다 업데이트되지 않아 그 불일치로 인해 문제가 발생합니다.
진짜 질문 (마침내) : 우리 앱의 두 서버에서 경로를 새로 고치는 가장 좋은 방법은 무엇입니까? 우리는 Ruby v2.1.2, Rails v4.1.6 및 mysql을 사용하고 있습니다.
:
당신 준다? –
@CamdenNarzt mysql – Alex
데이터베이스의 레코드가 변경된 경우 라우트를 다시로드하는 이유를 생각할 수 없습니다. 그 점에 대해 자세히 설명하고 예제를 추가 할 수 있습니까? 나에게 이것은 [xy 문제] (https://meta.stackexchange.com/a/66378/284887)처럼 들린다. – spickermann