1

我有订单模型。但为此我需要介绍一些编辑。我需要做选择列表并将其放入模型文件中,例如

id | name

当我创建新订单时,我将 db 作为 orderstatus_id 放入例如 1。当我在管理面板中看到此值时,我想查看名称。但是如何在没有任何数据库表的情况下做到这一点?另外例如,当我更改管理面板订单状态时,我会看到此选择列表...

所以我需要对模型、控制器和视图进行更改……但是如何执行我在下面描述的操作?我也明白这听起来像是一个广泛的问题,但不,不是。

4

3 回答 3

1

选择助手旨在处理可枚举的对象(响应每个对象)。通常它们是 AREL 结果对象的数组,但它们不是必须的。你可以这样做:

<%= f.select :thing , [['Big Thing',1],['Medium Thing',2],['Huge Thing',3]] %>

或者你可以这样做:

config/initializers/thing.rb:
  $mythings = [['Big Thing',1],['Medium Thing',2],['Huge Thing',3]]

然后你可以这样做:

<%= f.select :thing, $mythings %>
于 2012-11-05T17:24:12.123 回答
0

您要的是非 SQL 数据库吗?您可以使用 mongodb(mongoid 是 gem 名称)这里是文档。

于 2012-11-05T17:12:13.437 回答
0

您应该创建一个带有name字段的 OrderStatus 模型。然后你的 Order 模型应该声明has_one :order_status. 然后,您可以使用@order.order_status.name按名称获取订单状态。然后您的选择助手将类似于:

select("foo", "orderstatus_id", OrderStatus.all.collect {|os| [ os.name, os.id ] })
于 2012-11-05T17:26:35.527 回答