簡體   English   中英

如果未登錄,則是提供靜態主頁的大多數Rails方式

[英]The most Rails way of serving up a static home page if not logged in

我正在嘗試一些這樣做的方法,但只是想問問畫廊。

我希望我的應用程序(/)的根頁面是2件事之一,具體取決於用戶是否登錄。

如果他們沒有登錄,我想用一些靜態信息和登錄表單來創建一個靜態頁面。

如果他們已登錄,我希望將它們提供給我的應用程序的主索引頁面(/ invoices /)。

我正在使用authlogic管理用戶登錄。

我為執行此操作而想到的一些想法似乎不必要地令人費解(這是Rails-應該很簡單,不是嗎?),我認為有人已經知道一種更好的方法。

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

這樣的東西?

我將以下方法定義添加到控制器,以在其上定義布局。 如果行為是全局的,則application_controller將是此方法定義的位置。

layout :choose_layout

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

我認為這可以回答您的問題: 使用AuthLogic保護內容

這是您要尋找的最干凈的方法,也是標准的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM