레거시 데이터베이스 기반 Windows 앱에서 레일즈 앱으로 다소 큰 변환을 수행하고 있습니다. 많은 양식과 데이터베이스 테이블이 관련되어 있기 때문에 너무 멀리하기 전에 올바른 방법론을 갖고 있는지 확인하고 싶습니다.레일즈 앱을위한 방법론
내 관심사는 작성해야하는 코드의 양을 최소화하는 것입니다. 함께 상호 작용하는 많은 모델이 있으며, 내가 올바르게 사용하고 있는지 확인하고 싶습니다.
클래스 환자 < 액티브 :: 자료 has_many : PatientAddresses has_many : PatientFileStatuses 끝
클래스 PatientAddress < 액티브 :: 자료 belongs_to : 환자 끝
클래스 다음 모델의 단순화 된 세트입니다 PatientFileStatus < ActiveRecord :: Base belongs_to : 환자 끝
컨트롤러는 선택된 환자가 있는지를 결정합니다. 그 밖의 모든 것은 그것에 기초합니다.
보기에서 나는이 모델들 각각으로부터 데이터를 필요로 할 것이다. 하지만 내가 사용하고자하는 모든 속성에 대해 컨트롤러에 인스턴스 변수를 작성해야하는 것처럼 보입니다. 그래서 다음과 같이 코드를 작성 시작 :
@patient = Patient.find (세션 [: 환자]) @patient_addresses = @ patient.PatientAddresses @patient_file_statuses = @ patient.PatientFileStatuses
@enrollment_received_when = @patient_file_statuses [0] .EnrollmentReceivedWhen @consent_received @patient_file_statuses = [0] .ConsentReceived @consent_received_when @patient_file_statuses = [0]
제 산신
환자 모델과의 관계를 잡아 .ConsentReceivedWhen. 다음 세 줄은 그러한 관계 중 하나에서보기에 값을 제공하는 예입니다.보기에는 위의 데이터를 표시 할 텍스트 필드와 선택 필드의 조합이 있습니다.
} => "작성" "작성", "VAL1", "을 val2"=> "을 val2": include_blank = "TRUE) %> : 포스 %>(BTW, 선택, 예를 들어 ?해야/
- 내가 수동으로 컨트롤러의 모든 인스턴스 변수의 값을 선언해야합니까, 또는 할 수 있습니다; 태그가 정말 작동하지 않습니다 나는
내 질문
은) 내가 collection_select를 사용하는 것 같아요 나는 그 견해에서 그것을합니까? - 기본 모델이 아닌 데이터의 선택 태그를 표시하는 적절한 기술은 무엇입니까?
- 이 양식의 변경 사항을 저장하려면 각 모델의 특성을 수동으로 선택하여 개별적으로 저장해야합니까? 아니면 ActiveRecord가 올바른 일을하도록 필드의 이름을 지정하는 방법이 있습니까?
미리 감사드립니다. Aaron.방금 대신 컨트롤러에 @patient_addresses
을 정의하는, @patient.PatientAddresses
를 작성할 수 있도록 뷰에서 임의의 루비 코드를 작성에서 당신을 중지 아무것도 없다
귀하의 협회에서 낙타의 사례 표기법은 무엇입니까? –