加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 针对不同用户角色的不同视图集

发布时间:2020-12-17 01:22:36 所属栏目:百科 来源:网络整理
导读:我正在开发一个rails应用程序,我有两个不同的用户角色:高级和基本. 我没有隐藏基本用户视图中的链接(a.i.使用CanCan),而是想管理2个不同的视图集:一个用于高级用户,一个用于基本用户. 目前我正在以这种方式工作: case current_operator.op_type when 'bas
我正在开发一个rails应用程序,我有两个不同的用户角色:高级和基本.

我没有隐藏基本用户视图中的链接(a.i.使用CanCan),而是想管理2个不同的视图集:一个用于高级用户,一个用于基本用户.

目前我正在以这种方式工作:

case current_operator.op_type
      when 'basic'
        format.html { render :template => "devices/index_basc.html.erb" }
      when 'advanced'
        format.html # index.html.erb
 end

但我不想在每个操作中指定基本用户的模板({render:template =>“devices / index_basc.html.erb”})
我认为还有其他方式(我希望更整洁:)

你有什么想法 ?

谢谢,
亚历山德罗

解决方法

您可以在此 Railscast Mobile Devices中执行以下操作:

在config / initializers / mime_types.rb中添加:

Mime::Type.register_alias "text/html",:basic

在app / controllers / application_controller.rb中添加:

before_filter :check_user_status
private
def check_user_status
  request.format = :basic if current_operator.op_type == 'basic'
end

现在您可以在控制器中执行以下操作:

class SomeController < ApplicationController
  def index
    # …
    respond_to do |format|
      format.html  # index.html.erb
      format.basic # index.basic.erb
    end
  end
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读