如何在索引视图中实现复选框?

时间:2012-10-23 06:38:22

标签: ruby-on-rails-3 devise cancan

我正在构建一个应用程序,当用户以管理员身份登录时,它将拥有注册用户列表,并有四个链接显示,编辑销毁和设置。我想要的是当管理员点击设置链接时将具有复选框视图,其中管理员决定用户读取,编辑,创建和销毁应用程序中可用模型的权限。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您正在寻找为一个用户设置设置的视图。

由于您未提供有关模型的任何详细信息,因此我假设模型名为User,权限只是该模型上的布尔字段。

与此类似:

User
 - can_read
 - can_create
 - can_destroy
 - can_edit

然后我会实现这样的视图:

<%= form_for @user do |f| %>
  <%= flabel :can_read %>
  <%= f.check_box :can_read %>

  <%= flabel :can_create %>
  <%= f.check_box :can_create %>

  ....

  <%= f.submit %>
<% end %>

或更短:

<%= form_for @user do |f| %>
  <% [:can_read, :can_create, :can_edit, :can_delete].each do |permission| %>
    <%= flabel permission %>
    <%= f.check_box permission %>
  <% end %>


  <%= f.submit %>
<% end %>

控制器代码显然如下所示:

def edit
 @user = User.find(params[:id]
end

def update
  @user = User.find(params[:id]
  @user.update_attributes(params[:user])
end