2011-08-04 12 views
0

チェックボックスをオンにすると、情報が保存されるようにするにはどうしたらいいですか?ここで私はこれまで持っているものです。Railsファイルを保存するチェックボックス

<% @extra.each do |extra| %> 
    <%= f.fields_for :purchaseds do |builder| %> 
    <div class="label-field"> 
     <%= builder.label :name, extra.name %> 
     <p><%= extra.description %></p> 
    </div> 
    <div class="text-field"> 
     $<%= extra.price %> 
     <%= builder.check_box :purchased %> 
    </div> 

    #I WOULD LIKE THIS TO ONLY GET SAVED IF THE CHECK BOX FOR PURCHASED IS CHECKED 
    <%= builder.hidden_field :name, :value => extra.name %> 
    <%= builder.hidden_field :description, :value => extra.description %> 
    <%= builder.hidden_field :price, :value => extra.price %> 
    <% end %> 
<% end %> 

私のクライアントは、自分自身を追加サービスを追加できるように尋ねると、彼らは彼らのために付属品としてそれらを購入したいならば、ユーザーが選択できる可能性があります。だから私がしたことは、Extra(余分なサービス用)というテーブルとPurchasedという別のテーブルを作ったということでした。購入したものはOrderに属し、ネストされた属性です。あなたのpurchasedsモデルで

+0

であなたのpurchasedsの親モデルに:reject_ifオプションを追加します。チェックボックス "が表示されますが、ファイルについてはコード内に何も表示されません。ファイルが関係していますか? –

答えて

1

は、検証を追加します。

validates_presence_of :name, :description, :price, :if => :purchased 

更新

あなたのポストのタイトルは「Railsの保存ファイルである

accepts_nested_attributes_for :purchaseds, :reject_if => {|attrs| !attrs[:purchased]} 
+0

私は答えを更新しました。 – Hck

関連する問題