Как сохранить банковские реквизиты для конкретной страны? - PullRequest
0 голосов
/ 10 августа 2011

В настоящее время я разрабатываю приложение rails, которое должно принимать данные банковского счета для конкретной страны.

Например:

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 голосов
/ 10 августа 2011

Поскольку вам, вероятно, не нужно искать в этих полях, вы можете использовать текстовое поле 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.

...