0

price、price_per_unit、unit、unit_amountという4つの属性を持つ製品モデルがあります。価格属性または他の3つのフィールドのいずれかを入力できるようにしたいのですが、4つすべてではありません。より良いビューは次のとおりです。

class Product < ActiveRecord::Base
  attr_accessible :price, :price_per_unit, :unit, :unit_amount
end


<%= form_for(@product) do |f| %> 
 # Either give a regular price or....
 <%= f.text_field :price %>

 # a price per unit the requires all 3 of these fields.
 <%= f.text_field :price_per_unit %>
 <%= f.text_field :unit %>
 <%= f.text_field :unit_amount %>

 <%= f.submit %>
<% end %>

したがって、データベース(またはWebサイト)では、製品を単位ベースまたは通常価格のいずれかで見ると、両方を持つことはできません。

どうすればこれを行うことができますか?

4

1 に答える 1

2

これは主に、ユーザーインターフェイスの動作に依存します。いずれの場合も、次の2つの部分が必要です。

  • 記述された制限を保証するモデルの検証
  • ユーザーがいずれかのオプションを入力できるようにするユーザーインターフェイス。javascriptを使用して選択します。
于 2012-07-25T11:21:38.683 に答える