3

localhost:3000/dashboardユーザーのタイプに基づいて、さまざまなビュー/コントローラーの組み合わせを指す必要がある場合があります。私のアプリケーションの 2 つの主なタイプは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 に答える