【发布时间】:2010-10-14 05:21:02
【问题描述】:
我有模型:
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
我可能从错误的角度处理任务,因为我觉得实现不适合inherited_resources。
您能否告知最传统的实现方式是什么?
谢谢,
Dmytrii。
【问题讨论】:
标签: ruby-on-rails ruby rest inherited-resources