在Ruby on Rails中,创建动态输入(订单)页面的最简单方法是什么?



我是web开发新手(我在服务器端有几年的经验)。我需要创建一个页面,其中一个输入订单信息。例如:商品名称、数量、价格然后可以点击"添加"按钮,另一行输入将出现,用户可以填充它。最后,用户点击"提交",订单被处理。

现在我知道如何使winforms应用程序这样做,但我是新的rails,一般的web开发,有人能告诉我正确的技术/包吗?

也许有人有相关教程的链接?(我已经做了大部分的rails教程,但没有看到任何类似的东西)

谢谢!

您需要为单个订单项目提供Order模型和OrderItem模型(名称、数量、价格)。Order模型与OrderItem模型呈正比关系。Order接受订单项的嵌套属性。为Order创建一个表单,并为OrderItem属性创建字段。对于Add button功能,请使用Cocoon。您现在需要做的就是将其保存在create action中。

Cocoon的主页包含几个例子,您可以适应您的问题- project/tasksorder/order_items关系相同。也可以看看#196嵌套模型表单第1部分,讨论类似的主题。

如果不能解决你的问题,这应该给你一些东西谷歌。

您需要动态嵌套模型表单

这里有一个gem,它可以使它开箱即用

注意:你将需要使用jquery或javascript原型框架。

最常见的陷阱之一:

确保父模型有attr_accessible:children_attributes

示例:School has_many:students,在School模型中需要attr_accessible:students_attributes

您可以在RailsAPI页面阅读accepts_nested_attributes_for

http://railscasts.com/episodes/196-nested-model-form-part-1
http://railscasts.com/episodes/197-nested-model-form-part-2

这两个屏幕投射可能几乎与你想要完成的内容相同,只是上下文不同。它们很老了,但基本原理仍然适用。这些天我可能会用不同的方式处理javascript部分

如果你是rails新手,想要快速上手,那么看看这个指南:

http://guides.rubyonrails.org/getting_started.html

第5点(生成一个Scaffold)符合您的需要。

创建新的rails应用程序后,可以运行:

rails generate scaffold Order name:string quantity:string price:integer

生成与排序过程相关的控制器、模型和视图。

运行
rake db:setup
rake db:migrate

准备数据库

现在一切都应该很好,你得到了一个页面,用户可以输入订单信息并保存它(这应该适合你的开始需要)。使用

启动服务器
rails s

查看一下

相关内容

  • 没有找到相关文章