2007-09-28
rails批量更新
关键字: rubyrails批量更新
ruby 代码 user_controller.rb
- begin
- User.transaction do
- User.update(params[:user].keys,params[:user].values)
- end
- end
rails 提供的批量更新update方法,返回一个对象数组,并不好判断保存数据是否执行成功,以下代码可以判断
ruby 代码
- begin
- User.transaction do
- params[:user].each do |id, value|
- user= User.find(id)
- user.update_attributes!(value)
- end
- end
- flash[:notice] = "保存数据成功"
- rescue
- flash[:notice] = "保存数据失败"
- end
xml 代码
这是 user.rhtm
- <% for @user in @users%>
- <td><%= text_field("user[]","name",'size'=>'10')%>td>
- <td><%= password_field("user[]","password",'size'=>'10')%>td>
- <td>
- <%=
- select("user[]","city_id",@cities.collect{|p|[p.city,p.id]},options = {:include_blank => true})
- %></td>
- <% end %>
第6行返回一个下拉列表,用于显示所有可供选择的城市