1

私は注文モデルを持っています。しかし、そのためには、いくつかの編集を導入する必要があります。たとえば、リストを選択してモデルファイルに入れる必要があります

id | name

新しい注文を作成するとき、たとえば1のorderstatus_idとしてdbに入れます。管理パネルにこの値が表示されたら、名前を表示したいです。しかし、db テーブルなしでそれを行う方法は? また、たとえば、管理パネルの注文ステータスを変更すると、この選択リストが表示されます...

だから私はモデル、コントローラ、およびビューの変更が必要です...しかし、私が以下に説明することをどのように行うのですか? また、広い質問のように聞こえることも理解していますが、そうではありません。

4

3 に答える 3

1

select ヘルパーは、列挙可能な (それぞれに応答する) オブジェクトを操作するように設計されています。通常、それらは 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

フィールドを持つ OrderStatus モデルを作成する必要がありnameます。次に、 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 に答える