Top > Ruby on Railsあれこれ > 更新可能なネストした繰り返し

 [Array[HASH(id=>xxx, name=>yyy)],Array[HASH(id=>xxx, name=>yyy)]],&br;
 [Array[HASH(id=>xxx, name=>yyy)],Array[HASH(id=>xxx, name=>yyy)]],&br;
 ・・・&br;
 [Array[HASH(id=>xxx, name=>yyy)],Array[HASH(id=>xxx, name=>yyy)]]&br;

 [HASH(id=>xxx, name=>yyy)],&br;
 [HASH(id=>xxx, name=>yyy)],&br;
 [HASH(id=>xxx, name=>yyy)],&br;
 [HASH(id=>xxx, name=>yyy)],&br;
 ・・・&br;
 [HASH(id=>xxx, name=>yyy)],&br;
 [HASH(id=>xxx, name=>yyy)]&br;

  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
<html>
<head>
  <title>Tutorial: Nested Foreach Update</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <%= stylesheet_link_tag 'ror' %>
</head>
<body>
 
<h2>Tutorial: Nested Foreach Update</h2>
 
<% form_tag :action => 'submit' do %>
<table border="1">
<% for mapItems in @mapItemsItems %>
    <tr>
    <% for m in mapItems %>
        <td>
          <%= text_field_tag "mapItemsItems[][id]", m["id"] %>
        </td>
        <td>
          <%= text_field_tag "mapItemsItems[][name]", m["name"] %>
        </td>
    <% end %>
    </tr>
<% end %>
</table><br />
<%= submit_tag "サブミット" %>
<% end %>
</body>
</html>
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
class NestedForeachUpdateController < ApplicationController
  
  #初期画面表示
  def index
    @mapItemsItems = Array.new
    10.times { |i|
      mapItems = Array.new
      2.times { |j|
        m = Hash.new
        m["id"] = i * 10 + j
        m["name"] = "name" + i.to_s + j.to_s
        mapItems.push(m)
      }
      @mapItemsItems.push(mapItems)
    }
    
    render :action => 'index.html.erb'
  end
  
  #結果画面表示
  def submit
    tmpMapItemsItems = params[:mapItemsItems]
    
    @mapItemsItems = Array.new
    1.step(20, 2) { |i|
      mapItems = Array.new
      mapItems.push(tmpMapItemsItems[i-1])
      mapItems.push(tmpMapItemsItems[i])
      @mapItemsItems.push(mapItems)
    }
    render :action => 'index.html.erb'
  end
end

添付ファイル: filetutorial_nfu_2.jpg 132件 [詳細] filetutorial_nfu_1.jpg 140件 [詳細]

リロード   新規 編集 凍結解除 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2012-08-08 (水) 23:25:42 (2925d)