2013-01-02 126 views
0

我在views/admins/index.html.erb更新表格的单元格

我想这些线路按下update后更新我在role_ids的细胞User表:

如果worker.role_ids为[1],它会更改为[2]。 如果worker.role_ids是[2],它将更改为[1]。

<td><%= worker.email %></td> 
<td><%= worker.role_ids %></td> 
<td><%= link_to 'edit', edit_admin_path(worker) %></td> 

我可以定义edit_form,但没有优雅的方式?

回答

2

你可以通过Ajax做到这一点(我认为这是你在找什么)。您可以调用远程操作,传递对象的ID,并调用方法以更新为相应的值。例如:

查看

<%= link_to 'Change Role', change_admin_role_path(worker.id), :remote => true %> 

控制器

def change_admin_role 
    @worker = User.find(params[:id]) 
    @worker.change_role 
end 

记住添加路由,也创建在用户模式方法change_role,将评估的实际价值,并更改,并且创建change_admin_role.js.coffee(或change_admin_role.js.erb)以对视图进行更改通过Ajax。

+0

非常感谢! –

+0

不客气 – pablomarti