[英]Is there a more elegant way? (accessing a rails controller from a static home page?)
[英]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.