0

我有这些行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>

我可以定义editand _form,但是没有优雅的方法吗?

4

1 回答 1

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

记得添加路由,还要在 User 模型中创建方法 change_role 来评估实际值并进行更改,并创建一个 change_admin_role.js.coffee(或 change_admin_role.js.erb)来通过视图对视图进行更改阿贾克斯。

于 2013-01-02T03:06:04.057 回答