我有一个案例,我需要localhost:3000/dashboard
根据用户的类型指向不同的视图/控制器组合。我的应用程序中的两个主要类型是Subscriber
和Publisher
。
当Publisher
登录并转到/dashboard
时,我需要显示发布商信息中心。
当Subscriber
登录并转到/dashboard
时,我需要显示订阅者信息中心。
目前,发布商的信息中心名为Dashboard
,订阅者的信息中心名为Profile
。对我来说有点脏。
问题是。调用正确的控制器,加载正确的数据并根据特定用户的类型呈现正确的模板/布局的最佳方法是什么?
答案 0 :(得分: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