2011-08-10 4 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モジュールを使用します。

関連する問題