2012-04-28 4 views
0

モデルに直接リンクしていないカスタムフォーム(ユーザー評判)があります。 は私は"reputing_#{c.id}"フィールドの値をsummirizeする必要がフォームコントローラでカスタムフォーム処理

<%= form_tag("/add_reputing",:method => "POST") do%> 
<div class="reputing_column"> 
    <p> 
     <b>Your feedback:</b> 
    </p> 
    <p> 
     <%= text_area_tag :comment,"",{:class=>"or-form-textarea"} %> 
    </p> 
    <%= submit_tag("Submit",:class=>"or-button")%> 
</div> 
<div class="reputing_column"> 
    <p> 
     <b>Recomendation:</b> 
    </p> 
    <% @criterias.each do |c| %> 
    <div class="reputing_row"> 
     <label><%= c.name%>:</label> 
     <div> 
      <% (c.rating_from .. c.rating_to).each do |i| %> 
      <%= radio_button_tag "reputing_#{c.id}", i%><%= (i<1)? i : "+#{i}"%> 
      <% end %> 
     </div> 
    </div> 
    <% end %> 
</div> 
<% end %> 

のコードである。ここで最終returation値 に影響を与えるいくつかの評判の基準を持っています。そして、ユーザーレピュテーションテーブルにレコードを追加します。

このフォームのデータをコントローラで処理する方が、どのように適切に処理されますか?私はその問題をGoogleにしようとしましたが、何も見つかりませんでした。

+2

。 –

答えて

0

答えがありませんので、あなたがカスタムフォームと呼んでいるように、扱うことを明確にしようとします。

ラジオボタンで希望の色を選択するためのフォームです。

= form_for :preferences, url: '', method: :post do |f| 
    - %w[black blue white green red yellow].each do |color| 
     = f.radio_button :color, color 
     = f.label :color, color.capitalize, value: color 
    = f.submit 

彼らはモデルの有無にかかわらず使用することができますのRailsでフォームについてクールなこと。 @preferencesというインスタンス変数がある場合、このフォームはそれを尊重し、colorメソッドを呼び出して「現在の」色を決定します。この色は、生成されたフォーム上で選択されます。 この変数が存在しない場合、大きな問題にはなりません。いずれの場合においても

、フォームを提出した後、あなたは経由して、選択した色にもアクセスできるようになります:私たちはあなたの問題を理解し、あなたを助けることができる何の可能な方法はありません任意のコードがなければ

params[:preferences][:color] 
関連する問題