更新表格的单元格

时间:2013-01-02 01:59:56

标签: ruby-on-rails sql-update

我在views/admins/index.html.erb

中有这些行

按下User后,我尝试更新role_ids单元格中的update表:

如果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,但没有优雅的方法吗?

1 个答案:

答案 0 :(得分: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对视图进行更改。