У меня есть модель:
User -1---n- Transaction(amount,description, date)
User -1---n- TransactionImport -1---n- TransactonImportField(name,value)
(приложение для отслеживания личных расходов).
Чего я хочу добиться, это:
- Пользователь открывает URL-адрес и вставляет CSV со списком транзакций.
- Пользователь отправляет его.
- Система извлекает данныеиз CSV в
TransactionImport
(строка) + TransactionImportField
(ячейка). - Пользователь может выбрать, какой столбец означает, что (сумма, описание, дата) из импортированных данных в
TransactionImport(Field)
. - Пользователь нажимает «Сохранить», и система переводит
TransactionImport
в транзакцию.
То, что я не могу сделать правильно, это то, что на шаге 3 создается несколько записей TransactionImport
(и связанных с нимиTransactionImportField
).
Таким образом, POST /transaction_imports?csv=abcd
, как ожидается, создаст одну запись, если мы будем RESTful.Но предполагается, что код выглядит примерно так:
# TransactionImportsController
def create
result = TransactionImports.parse(params[:csv])
flash[:notice] = result.message
redirect_to transaction_imports_path
end
Я, вероятно, подхожу к задаче под неправильным углом зрения, так как считаю, что реализация не вписывается в наследуемые_ресурсы .
Не могли бы вы порекомендовать, какой самый обычный способ реализации этого?
Спасибо,
Дмитрий.