Rails唯一的路由名称

时间:2012-04-12 10:45:50

标签: ruby-on-rails url routing controllers

我正在忙于一个涉及许多子域和不同级别身份验证的项目,我想根据您的访问权限更改URL的样子,我们有超级用户可以访问所有(只有程序员),然后是几个不同的管理权限。每个人都可以访问不同的东西,具体取决于他们处理的内容,门户网站管理员可以访问名为data_report的功能,只有他和超级用户才能获得访问权限,路由的方式仅限于超级用户访问,因此URL显示{{ 3}} 21是门户网站管理员来自的帐户,但他不需要看到,因为他无法访问任何其他帐户,超级用户可以而且可以,有一种方法可以隐藏21 in该URL仍然将其传递到同一个地方。所以超级用户可以看到帐号,如果它是portal_administrator那么他就不会

我的路线看起来像这样:

map.resources :portal_data, :only => [:show, :create]
map.show_account_portal_datum '/portal_data/:id/account/:account_id/', :controller => 'portal_data', :action => 'show_account'

它引用的控制器有一个方法

def show_account
  @account = @portal.accounts.find(params[:account_id])
end

对不起,如果这是一个简单的问题,这是我第一次处理路线。

1 个答案:

答案 0 :(得分:1)

我认为在这种情况下,门户网站管理员也不需要索引页面。如果当前登录的用户是门户网站管理员,那么只需在索引操作中检查这个,并且渲染(无重定向)与show动作相同的视图?

只是一个简单的想法,不知道它是否符合您的需求。