Salvare più dati in blocco


#1

Ciao a tutti.
Sono un neofita di Rails, e sto cercando di imparare a programmare in
ruby on rails.

Ho una lista di utenti, ogni utente nella tabella del database ha come
colonne:

nome | flag1 | flag2 | flag3

In una show, visualizzo tutta la lista degli utenti con i nomi sulla
sinistra, e per ogni utente tre checkbox per permettere la modifica dei
tre flag, e un pulsante save sul fondo.

Quando premo il pulsante, vorrei riuscire a salvare tutte le checkbox
modificate, ma non so come fare.

Mi sapreste dare una mano?
Potrebbe anche essere interessante ad ogni click salvare tramite una
richiesta ajax la modifica alla checkbox.

Ringrazio chi darà del tempo per aiutarmi!!


#2

Paolo Sangregorio ha scritto:

Quando premo il pulsante, vorrei riuscire a salvare tutte le checkbox
modificate, ma non so come fare.
class UsersController
def edit_all
@users = User.find(:all)
end

def update_all
User.find(params[:users].keys).each {|u|
d.update_attributes(params[:users][u.id.to_s])}
end
end

app/views/edit_all.rhtml:
<% form_tag :action => “update_all” do %>

<% for column in User.content_columns -%> <% end %> <% for user in @users -%> <% end %>
<%= column.human_name %>
<%=h user.name %> <%= check_box('users', 'check1', :checked => user.check1, :index => user.id)%> <%= check_box('users', 'check2', :checked => user.check2, :index => user.id)%> <%= check_box('users', 'check3', :checked => user.check3, :index => user.id)%>

<%= submit_tag 'Save' %>

<% end %>

LG