2010-12-15 8 views
0

私はこれを行ういくつかの方法を試しているが、私はギャラリーに尋ねると思った。ログインしていない場合、静的なホームページを提供するほとんどのRailsの方法

ユーザーのログインの有無に応じて、自分のアプリケーション(/)のルートページを2つのうちの1つにします。

ログインしていない場合は、いくつかの静的情報とログインフォームを含む静的ページを整理したいと思います。

ログインしている場合は、自分のアプリのメインインデックスページ(/請求書/)に配信されます。

私はauthlogicを使用してユーザーログインを管理しています。そして、私は誰かがすでにより良い方法を知って把握 -

私はこれを行うために持っていたアイデアのいくつかは、不必要に畳み込まれ(それがいけない単純なことでしょうか?これはRailsのである)ように見えます。

答えて

1

homepage_controller

def index 
respond_to do |format| 
    if current_user 
    format.html { render :partial => 'view', :layout => 'nonuser' } 
    elsif !current_user 
    format.html { render :partial => 'view', :layout => 'user' } 
    end 
end 

そのような何か?

1

Iが上にレイアウトを定義するために、コントローラに次のメソッド定義を追加します。動作がグローバルである場合、application_controllerがこのメソッド定義の場所になります。

layout :choose_layout 

def choose_layout 
    if current_user 
     return 'user_view' 
    end 
    return 'non_user_view' 
end 
1

私は、これは、あなたの質問に答えると思う:Protecting Content with AuthLogic

それはあなたが探しているもののクリーンな方法、および標準的な方法です。

関連する問題