我有模型:
User -1---n- Transaction(amount,description, date)
User -1---n- TransactionImport -1---n- TransactonImportField(name,value)
(个人费用跟踪应用程序)。
我想要实现的是:
- 用户打开 URL 并粘贴带有交易列表的 CSV。
- 用户提交。
- 系统将 CSV 中的数据提取到
TransactionImport
(行)+TransactionImportField
(单元格)中。 - 用户可以从导入的数据中选择哪一列代表什么(金额、描述、日期)
TransactionImport(Field)
。 - 用户点击保存,系统转入
TransactionImport
Transaction。
我似乎无法理解的是,第 3 步创建了多个TransactionImport
(和相关的TransactionImportField
)记录。
如果我们是 RESTful,那么这样做POST /transaction_imports?csv=abcd
预计会产生一个记录。但是代码应该是这样的:
# TransactionImportsController
def create
result = TransactionImports.parse(params[:csv])
flash[:notice] = result.message
redirect_to transaction_imports_path
end
我可能从错误的角度处理任务,因为我觉得实现不适合 tp the inherit_resources。
你能告诉我最传统的实现方式是什么吗?
谢谢,
德米特里。