如何保存特定国家的银行详细信息?

时间:2011-08-10 09:06:41

标签: database ruby-on-rails-3 database-design banking

我目前正在开发一个应用程序,它应该接受特定国家/地区的银行帐户详细信息。

例如:

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

如何将这些不同的格式保存到数据库中?此外,如何为此显示不同的输入字段?

1 个答案:

答案 0 :(得分: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模块。