首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据Acl9角色显示或隐藏字段- Ruby on Rails

根据Acl9角色显示或隐藏字段- Ruby on Rails
EN

Stack Overflow用户
提问于 2010-05-31 21:27:17
回答 2查看 454关注 0票数 1

我使用Acl9来管理角色,如果用户的角色是:customer,我想隐藏复选框usertype,如果角色是:manager,则显示它。我希望只有:manager可以编辑所有字段,还可以编辑:customer的一些字段。

谢谢你的帮助!

代码语言:javascript
复制
<h1>Editing user</h1>

<% form_for(@user) do |f| %>
  <%= f.error_messages %>

  <p>
    <%= f.label :usertype %><br />
    <%= f.check_box :usertype %>
  </p>
  <p>
    <%= f.label :surname %><br />
    <%= f.text_field :surname %>
  </p>
  <p>
    <%= f.label :firstname %><br />
    <%= f.text_field :firstname %>
  </p>
  <p>
    <%= f.label :phone %><br />
    <%= f.text_field :phone %>
  </p>
  <p>
    <%= f.label :email %><br />
    <%= f.text_field :email %>
  </p>
  <p>
    <%= f.label :registrationdate %><br />
    <%= f.datetime_select :registrationdate %>
  </p>
  <p>
    <%= f.label :login %><br />
    <%= f.text_field :login %>
  </p>
  <p>
    <%= f.label :password %><br />
    <%= f.text_field :password %>
  </p>
  <p>
    <%= f.submit 'Update' %>
  </p>
<% end %>

<%= link_to 'Show', @user %>
<%= link_to 'Back', users_path %>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-01 00:26:41

根据Acl9 documentation的说法,你应该能够这样做:

代码语言:javascript
复制
<% if @user.has_role?(:manager, nil) %> 
  <p>
    <%= f.label :usertype %><br />
    <%= f.check_box :usertype %>
  </p>
<% end %>
票数 1
EN

Stack Overflow用户

发布于 2010-06-23 08:11:27

你也可以这样想:

..in你的application_helper.rb

代码语言:javascript
复制
module ApplicationHelper
  include Acl9Helpers
end

在您的视图中使用..and,类似于

代码语言:javascript
复制
<% show_to(:admin) do %>
  The content to show
<% end %>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2943801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档