Ruby On Rails针对同一操作的不同视图(基于用户角色)

Chr*_*nch 3 ruby-on-rails

我在rails控制器上有一个ruby,它将为已注销的用户显示与登录用户不同的表单.

解决这个问题的最佳方法是什么?(以下方式可以吗?)

   class UsersController < ApplicationController
      def index
        if logged_in && is_admin
          render 'admin_index'
        end
        #use default index
      end
    end
Run Code Online (Sandbox Code Playgroud)

mac*_*thy 5

当然没关系,除了你可能会得到一个'无法渲染动作两次'类型错误(如果我是管理员并登录它仍然会尝试渲染管理员操作后呈现默认值)

 class UsersController < ApplicationController
      def index
        if logged_in && is_admin
          render 'admin_index'
        else
          render 
        end

      end
    end
Run Code Online (Sandbox Code Playgroud)

可能会更好