我是网络开发的新手(我在服务器方面有多年的经验)。 我需要创建一个输入订单信息的页面。 例如:项目名称,数量,价格 然后可以单击“添加”按钮,将出现另一行输入,用户可以填写该输入。 最后,用户点击“提交”并处理订单。
现在我知道如何制作一个winforms应用程序来做到这一点,但我是rails的新手,一般来说,对于web开发,有人可以指点我正确的技术/包吗?
也许某人有相关教程的链接? (我已经完成了大部分的rails教程,但没有看到类似的东西)
谢谢!
答案 0 :(得分:2)
您需要为各个订单商品设置Order
型号和OrderItem
型号(名称,数量,价格)。 Order
模型与OrderItem
有多对一的关系。 Order
接受订单商品的嵌套属性。为Order
创建表单以及OrderItem
属性的字段。对于Add button
功能,请使用Cocoon。您现在需要做的就是将其保存在create
操作中。
Cocoon的主页包含几个可以适应您的问题的示例 - project/tasks
与order/order_items
关系相同。另请查看讨论类似主题的#196 Nested Model Form Part 1。
如果没有解决您的问题,我们希望能为您提供一些帮助。
答案 1 :(得分:1)
http://railscasts.com/episodes/196-nested-model-form-part-1
http://railscasts.com/episodes/197-nested-model-form-part-2
这两个屏幕演员可能几乎与你想要完成的完全相同,只是不同的背景。它们很旧,但基础仍然适用。这些天我可能会以不同的方式处理javascript部分。
答案 2 :(得分:1)
您需要 dynamic nested model forms 。
这是 gem that makes it work out of the box
注意:您需要使用jquery或原型javascript框架。
最常见的问题之一:
确保父模型具有 attr_accessible:children_attributes 。
示例:学校has_many:学生,您需要学校模型中 attr_accessible:students_attributes
您可以在RailsAPI页面上阅读 accepts_nested_attributes_for
答案 3 :(得分:-1)
如果您不熟悉rails并想快速进入它,请查看本指南:
http://guides.rubyonrails.org/getting_started.html
第5点(Generate a Scaffold)符合您的需求。
创建新的rails应用程序后,您可以运行:
rails generate scaffold Order name:string quantity:string price:integer
这将生成与订购流程相关的Controller,Model和Views。
运行
rake db:setup
rake db:migrate
准备数据库
现在一切都很好,你有一个页面,用户可以输入订单信息并保存(女巫应该适合你的开始需要)。使用
启动服务器rails s
并检查出来。