我正在進行從傳統數據庫驅動的Windows應用程序到Rails應用程序的相當大的轉換。由於涉及到大量的表單和數據庫表,我想確保在得到太多之前我有正確的方法。Rails應用程序的方法
我的主要擔心是儘量減少我必須編寫的代碼量。有很多模型可以一起交互,我想確保我正確使用它們。下面是一組簡化的模型:
種類的患者<的ActiveRecord :: Base的 的has_many:PatientAddresses 的has_many:PatientFileStatuses 結束
類PatientAddress <的ActiveRecord :: Base的 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 =>真)%> :力%>(順便說一句,選擇標籤是不是真正的工作,我想我必須使用collection_select)
我的問題是:
- 我必須手動聲明控制器每個實例變量的值,或可以/應注意什麼?我在視野內做到了嗎?
- 對於不是主要模型的數據顯示選擇標記的正確方法是什麼?
- 當我要將更改保存到此表單中時,是否必須手動爲每個模型挑選屬性並單獨保存它們?或者有沒有一種方法來命名這些字段,使ActiveRecord能夠做正確的事情?
在此先感謝, 亞倫。
你們協會裏的駱駝案例符號是什麼? – 2009-07-18 14:32:16