3

我有一个案例需要localhost:3000/dashboard根据用户类型指向不同的视图/控制器组合。我的应用程序中的两种主要类型是SubscriberPublisher

Publisher登录并转到/dashboard我需要显示发布者仪表板时。

Subscriber登录并转到/dashboard我需要显示订阅者仪表板时。

此时发布者的仪表板被调用Dashboard,订阅者的仪表板被调用Profile。在我看来有点脏。

问题是。调用正确的控制器、加载正确的数据并根据特定用户的类型呈现正确的模板/布局的最佳方法是什么?

4

1 回答 1

2

我会考虑类似下面的伪代码来帮助您入门。

控制器:

app/controllers/dashboard_controller.rb

class Dashboard < ApplicationController

def index      
  render, :user_type => current_user.user_type
end

查看:(使用助手更改将显示的内容)。

views/dashboards/index.html.erb

# display the content

帮手。

helpers/dashboard_helper.rb
module DashboardHelper(user_type)
if user_type == 'publisher'
  #set content / variables for publisher
elsif user_type == 'Subscriber'
  #set content / variables for subscriber
else
  set content/variables to default.
end
于 2012-04-20T16:05:22.397 回答