2017-04-18 15 views
-3

チケット予約システムを作成しようとしています。
私は2次元配列は、座席とステータス
Ruby HTMLフォームから2次元配列を取得するにはどうすればよいですか?

@movie1 = [["A1", 0], ["A2", 0], ["A3", 1],["A4", 1], ["A5", 1], ["A6", 1], ["A7", 1], ["A8", 1], ["A9", 0], ["A10", 1]] 

を格納しているそして、これはビュー

<form action= "seat/test4" method="get"> 

    <table> 
    <% for i in 0..9 do %> 
     <% if i == 0 then %> 
     <tr> 
     <% end %> 

    <% if @movie1[i][1] == 1 then %> 
     <td bgcolor="red"> 
     <%= @movie1[i][0] %> 
     <input type = button value = "X" 
     </td>   
    <% else %> 
     <td bgcolor="green"> 
      <%= @movie1[i][0] %> 
      <input type="checkbox" id= <%= @movie1[i][0] %> name = <%= @movie1[i][0] %> > 
     </td> 
    <% end %> 

     <% if i == 9 then %> 
    </tr> 
     <% end %> 
     <% end %> 

    </table> 

    <input type="submit" value="Purchase"> 
</form> 

どのように私は、チェックボックスの値を取得し、@movie1[i][1] = 1を変更することができますか?

+2

をcheckboxにvalue属性を追加し、次のようにあなたは、ビューを実装することができます提案として

ない画像として、ここにコードを投稿してください。 – Pavan

答えて

0

@movie1を変更しようとしている場合。 @movie1は、ページが読み込まれたときにレンダリングされるルビ変数で、それ以降は変更できません。実際にページリロードなしで変数を変更したい場合は、Ajax call経由で行うことができます。Rails自体には、これを実現する機能があります。以上、このリンク参照してください知っている

Working with javascript in Rails

はまた、これはサブテンプレートを作成するために使用される

Rails Partial

部分レールについて参照してくださいには、このような動的な場合のために便利です。

<form action= "seat/test4" method="get"> 
<table> 
    <tr> 
    <% @movie1.each do |m| %> 
     <% if m[1] == 1 %> 
     <td bgcolor="red"> 
     <%= m[0] %> 
     <input type = button value = "X" /> 
     </td>   
     <% else %> 
     <td bgcolor="green"> 
     <%= m[0] %> 
     <input type="checkbox" id= <%= m[0] %> value="<%= m[0] %>" name = <%= m[0] %> /> 
     </td> 
    <% end %> 
    <% end %> 
    </tr> 
</table> 
<input type="submit" value="Purchase"> 
</form> 

はまた、タグ

関連する問題