0

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

现在我知道如何制作一个可以做到这一点的winforms应用程序,但我是rails新手,一般来说是web开发,有人可以指点我正确的技术/包吗?

也许有人有相关教程的链接?(我已经完成了大部分的 Rails 教程,但在那里没有看到类似的东西)

谢谢!

4

4 回答 4

2

您需要有单个订单项目的Order型号和OrderItem型号(名称、数量、价格)。Order模型与 具有多对一的关系OrderItemOrder接受订单项目的嵌套属性。与属性Order字段一起创建表单。OrderItem对于Add button功能使用Cocoon。您现在需要做的就是将其保存在create行动中。

Cocoon的主页包含几个可以适应您的问题的示例 -与关系project/tasks相同order/order_items。另请查看讨论类似主题的#196 Nested Model Form Part 1

如果不能解决您的问题,这应该可以为您提供 Google 的帮助。

于 2013-01-09T15:56:07.973 回答
1

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

这 2 个屏幕截图可能与您要完成的内容几乎相同,只是上下文不同。它们很旧,但基础知识仍然适用。这些天我可能会以不同的方式处理 javascript 部分。

于 2013-01-09T16:02:18.453 回答
1

您需要动态嵌套模型表单

这是一个让它开箱即用的宝石

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

最常见的陷阱之一:

确保父模型具有attr_accessible :children_attributes

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

您可以在 RailsAPI 页面上阅读此内容以及更多信息,以获取接受嵌套的属性_for

于 2013-01-09T16:06:19.833 回答
-1

If you are new to rails and want to get quickly into it, then check this guide:

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

The point 5 (Generate a Scaffold) fits your needs.

After creating a new rails application you could run:

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

This generates you Controller, Model and Views related to the ordering process.

Run

rake db:setup
rake db:migrate

to prepare the database

Now everything should be fine and you got a page where the user can enter the order information and save it (witch should fit your start needs). Start the Server with

rails s

and check it out.

于 2013-01-09T15:53:02.750 回答