2011-08-10 57 views
0

我目前正在開發一個應用程序接受國家特定的銀行帳戶詳細信息。如何保存特定國家/地區的銀行信息?

例如:

German Bank Details: 
Kontoinhalber: Alice Springs 
Kontonummer: 1234567 
Bankleitzahl: 111111111 

French Bank Details: 
Numéro de compte: 0987654 
Clé RIB: 123 
Code banque: 12345 
Code guichet: 1234 

我怎樣才能拯救這個不同格式的數據庫?此外,我如何顯示不同的輸入字段?

+0

看起來像單表繼承的一個很好的候選人。所有銀行至少有一些共同領域;有些可能會有一些額外的領域。 – Zabba

回答

0

由於您可能不需要搜索這些字段,因此可以在模型中使用serialize d文本字段。

建立一個定義每一個國家,也許作爲一個恆定的哈希:

BANK_ACCOUNT_FIELDS = { 
     # use array to preserve order 
    :de => [:account_holder, :account_number, :bank_number], 
    :fr => [:account_number, :bank_key, :bank_code, :branch_code] 
} 

有了這個,你可以訪問每一個領域像

lang = @bank_account.lang # use this field to know the country settings 
BANK_ACCOUNT_FIELDS[lang].each do |field_name| 
    @bank_account.data[field_name] = ... 
end 

顯示用諧音爲每種語言,用於顯示字段名稱使用I18n模塊。

相關問題