【问题标题】:Rails beginner help with making a custom order formRails 初学者帮助制作自定义订单
【发布时间】:2011-06-30 05:06:53
【问题描述】:

所以我基本上想做的就是做一个订单。在此订单中,用户将提交有关其公司成员的信息,并且在订单的末尾还有一个部分,用户可以在其中选择我的客户从后端添加的选项服务。我是 Rails 新手,所以我希望有人帮助我确保我将使用最佳实践来做到这一点。这是我认为我需要做的:

  1. 下单模型
  2. 制作会员模型
  3. 制作字段模型

按我的订单型号制作

has_many :members
has_many :fields

在我的成员模型中创建belongs_to :order,在我的字段模型中创建belongs_to :order。然后我需要在我的订单控制器中做的是@fields = Field.all 并将其提取到@fields.each 块中。

附:我必须做的另一件事是让订单显示 3 种类型的标题:公司、有限责任公司和非营利组织。我认为聪明的做法是,如果在网址中我将其设置为 type=1type=2type=3 并在我的模型中使用如下 if 语句:

def order_type(type)
   if type === "1"
     "corporation"
   elsif type === "2"
     "llc"
   else
     "nonprofit"
  end
end

我认为使用 if 语句有点草率,所以如果有人可以向我解释一下最佳实践,那就太好了。请不要尝试用 railscasts 剧集来回答,因为我已经检查了很多。如果可能的话,我想要一个解释

谢谢大家,意义重大

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 forms


    【解决方案1】:

    您的领域真的如此复杂以至于需要自己的模型吗?如果您的“字段”是单列列表,只需将它们作为模型中的一列包括在内,它们也将被应用。

    使用您建议的URL方法的问题如下。假设用户创建了一个模型对象并将其分配为“LLC”。然后,您的 URL 将按照您的建议在其中某处具有 type=1 。现在一个用户为这个 URL 添加了书签,之后有人意识到这是一个错字,而不是 LLC,标题应该是别的东西。现在,您遇到了一种不稳定的情况,您正在 Internet 上创建死链接,或者您的 url 已编码。 URL 编码应该用于查询数据而不是决定数据应该是什么。

    我不会弄乱标题问题的网址。相反,只需向将要显示的主模型添加一个标题字段,并将该字段设为 LLC 等。然后在视图中只有一个变量,该变量加载正在显示的对象的值。

    【讨论】:

    • 所以基本上我应该让标题名称由发布请求确定?例如,他们点击一个选择框,他们想要哪个订单表格,然后它将它们传递给订单表格,而没有任何迹象表明它是 url 中的公司、有限责任公司还是非营利组织?
    • 这将是一个 GET 请求,如果标头信息作为模型的一部分存储,您将不会发出单独的请求。它只是您正在显示的对象的另一个属性。您可能会使用不同的模板来选择性地显示不同的字段,但如果 llc 或 corp 之间的唯一区别是标题文本,那么您需要一个名为“order_type”的属性字段。用户创建一个新订单“域/订单/新”并从下拉列表中选择一种类型并保存。如果用户只想查看非营利组织,则可以通过“order_type”列轻松过滤所有订单。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2016-01-10
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 2022-01-17
    相关资源
    最近更新 更多