ruby 批量更新

2007-09-28

rails批量更新
关键字: ruby

rails批量更新

ruby 代码 user_controller.rb

  1. begin
  2. User.transaction do
  3. User.update(params[:user].keys,params[:user].values)
  4. end
  5. end

rails 提供的批量更新update方法,返回一个对象数组,并不好判断保存数据是否执行成功,以下代码可以判断

ruby 代码

  1. begin
  2. User.transaction do
  3. params[:user].each do |id, value|
  4. user= User.find(id)
  5. user.update_attributes!(value)
  6. end
  7. end
  8. flash[:notice] = "保存数据成功"
  9. rescue
  10. flash[:notice] = "保存数据失败"
  11. end

xml 代码

这是 user.rhtm

  1. <% for @user in @users%>
  2. <td><%= text_field("user[]","name",'size'=>'10')%>td>
  3. <td><%= password_field("user[]","password",'size'=>'10')%>td>
  4. <td>
  5. <%=
  6. select("user[]","city_id",@cities.collect{|p|[p.city,p.id]},options = {:include_blank => true})
  7. %></td>
  8. <% end %>

第6行返回一个下拉列表,用于显示所有可供选择的城市