Спокойно вложенный обычный маршрут
-
30-09-2019 - |
Вопрос
У меня есть модель:
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
Ожидается, что сделает одну запись, если бы мы будем спокойны. Но код должен быть что-то вроде этого:
# TransactionImportsController
def create
result = TransactionImports.parse(params[:csv])
flash[:notice] = result.message
redirect_to transaction_imports_path
end
Я, вероятно, приближаюсь к задаче с неправильного угла, так как я чувствую, что реализация не подходит в TP унаследовано_респорты.
Не могли бы вы посоветовать, какой был бы самый обычный способ реализации этого?
Спасибо,
Дмитрий.
Решение
Отдых / HTTP не ожидает, что пост будет создать только одну запись. Это, возможно, поведение рельсов по умолчанию, но вы не должны ограничивать ваш дизайн из-за этого.