只考虑构建订单表单的最佳方式(从用户角度来看):
所以模型看起来像是:User -1---*-Order-1---*- OrderItem-*--1-JobType
。此外,OrderItem包含多个属性,例如name
,file
。
现在我想拥有尽可能瘦的控制器。使用“标准”代码更好:
class OrdersController < ApplicationController
def create
@order = Order.new(params[:order])
if @order.save
redirect_to account_url
else
flash.now[:error] = "Could not save Order"
render :action => "new"
end
end
end
最有趣的是视图应如何显示,以便rails自动绑定发布到正确对象的所有值?
现在我不担心JavaScript的退化,而是担心要添加的项目的模板,并将所有这些与验证相关联(可能是部分)。
我希望模板看起来像下面的模板,但不确定。
<input type='text' name='order[order_items[name[]]][]' />
<select name='order[order_items[job_type[]]][]'>...</select>
<input type='file' name='order[order_items[file[]]][]' />
我必须克隆此模板才能使用JS添加项目。
所以答案应该是:
理想情况下,我想看一个样本,如果有人知道一个(可能在GitHub上的某个地方)。
最后一点,请,请在发布前检查您的解决方案。
谢谢,
德米特里。
答案 0 :(得分:5)
没有直接回答这个问题,但这里有一些消息来源:
在个人笔记上。你的问题是要求别人为你做你的工作。如果我在时间,我很乐意发布一个答案,以满足您的所有需求。