첫 번째 Ruby on Rails webapp을 시작했습니다. 다양한 모델, 뷰, 컨트롤러 등이 있습니다.
전체 응용 프로그램에 적용되는 진정한 글로벌 상수의 정의를 고수 할 수있는 좋은 장소를 찾고 싶습니다. 특히, 그들은 내 모델의 논리와 내 견해에서 내린 결정 모두에 적용됩니다. 이 정의를 모든 모델과 모든 뷰에서 사용할 수있는 곳에 DRY 장소를 찾을 수 없습니다 .
구체적인 예를 들어, 상수를 원합니다 COLOURS = ['white', 'blue', 'black', 'red', 'green']
. 이것은 모델과 뷰 모두에서 모든 곳에서 사용됩니다. 한 곳에서 액세스 할 수 있도록 어디에서 정의 할 수 있습니까?
내가 시도한 것 :
- 그들은 대부분 같은과 관련있는 것을 model.rb 파일 정수 클래스 변수
@@COLOURS = [...]
. 그러나 나는 그것을 정의하는 깔끔한 방법을 찾지 못하여Card.COLOURS
과감한 것보다는 내 견해를 쓸 수Card.first.COLOURS
있었습니다. def colours ['white',...] end
같은 문제 와 같은 모델의 방법 .- application_helper.rb의 메소드-지금까지 내가하고있는 일이지만 도우미는 모델이 아닌보기에서만 액세스 할 수 있습니다
- application.rb 또는 environment.rb에서 무언가를 시도했을 수도 있지만 실제로는 올바르지 않습니다 (그리고 작동하지 않는 것 같습니다)
모델과 뷰에서 액세스 할 수있는 항목을 정의 할 방법이 없습니까? 내 말은, 모델과 뷰가 분리되어야한다는 것을 알고 있지만, 어떤 도메인에서는 반드시 동일한 도메인 별 지식을 참조해야하는 경우가 있습니까?