2011-04-14 36 views
0

我在嘗試構建一個窗體,它將列出所有用戶並允許您檢查要添加到團隊中的窗體。這是我在表格第一刀:Rails 3窗體只返回最後一個元素

<div id="add_team_mates"> 
    <%= form_tag do %> 
    <%= will_paginate @users %> 
    <ul class="users"> 
    <% @users.each do |user| %> 
    <li> 
     <%= gravatar_for user, :size => 30 %> 
     <%= link_to user.name, user %> 
     <%= check_box_tag("add", user.id) %> 
    </li> 
    <% end %> 
    </ul> 
    <%= submit_tag "Add Team Mates", :action => "add_team_mates" %> 
    <% end %> 
</div> 

而且,現在這是所有我在控制器:

def add_team_mates 

end 

的問題是,如果我檢查多個用戶,我只得到最後user.id而不是多個是我所期望的。以下是日誌中的一些示例:

Started POST "/teams/5" for 127.0.0.1 at 2011-04-14 15:28:13 -0700 
    Processing by TeamsController#add_team_mates as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"IHFDevfKES8NibbCMlRa1t9qHn4/ZMKalK1Kjczh2gM=", "add"=>"3", "commit"=>"Add Team Mates", "id"=>"5"} 
Completed in 12ms 

對此的任何幫助將不勝感激。謝謝!

回答

2

你所有的複選框具有相同的名稱,改線 check_box_tag("add[]",user.id)

在控制器的參數會像這樣:

params[:add] = ['foo','bar','baz']

+0

完美。那就是訣竅。現在我只需要弄清楚控制器的邏輯:) – spinlock 2011-04-14 22:35:52

+1

對不起,已編輯。控制器現在會更容易。 – 2011-04-14 22:36:52

+0

不錯!這工作得很好。謝謝。 – spinlock 2011-04-14 22:49:23

相關問題