我知道application.html.erb是每個頁面的默認值。我想在用戶登錄時使用不同的佈局.i表示登錄後的儀表板應該是不同的佈局,而不是默認的佈局(application.html.erb) 。如何在紅寶石上的不同頁面使用不同的佈局?
3
A
回答
4
創建新的佈局如app/views/layouts/dunno.html.erb
。使用在控制器
class DashboardController < ApplicationController
layout 'dunno'
end
或每行動
class DashboardController < ApplicationController
def index
render layout: 'dunno'
end
end
看到docs的細節
0
可以在應用控制器做到這一點,添加以下代碼,我假設你正在使用devise
layout :layout_by_resource
def layout_by_resource
user_signed_in? ? "my_custom_layout" : "application"
end
0
約佈局細節可以發現here。
使用在動作不同的佈局渲染調用
如果你的大多數動作都使用相同的佈局,它非常有意義如上所述 定義一個控制器範圍的佈局。有時候,你會在 有一些例外,其中一個動作想要使用與控制器的其餘部分不同的佈局。您可以通過向渲染調用傳遞:layout 選項來完成此操作。例如:
class WeblogController < ActionController::Base
layout "weblog_standard"
def help
render action: "help", layout: "help"
end
end
這將覆蓋控制範圍的「weblog_standard」佈局,將呈現與「幫助」佈局的幫助 動作來代替。
1
在你的application_controller.rb文件中做這個,希望它有幫助。
layout :set_layout
def set_layout
if current_user
'dashboard_layout'
else
'default_layout'
end
end
0
如果您正在使用色器件寶石,而你的目標是使用內其他佈局設計控制器,看看他們的docs
0
我登入前,登入後需要2個不同的佈局,所以我已經實現了使用下面的代碼,其中application_controller
更改佈局,如果用戶signed_in else使用不同的佈局.... 如果您正在使用設計,不要忘記添加布局在視圖/佈局
在application_controller.rb
layout :layout_by_resource
def layout_by_resource
unless user_signed_in?
Rails.logger.info "===========Setting layout as views/layouts/auth.html.erb"
'auth'
else
Rails.logger.info "===========Setting layout as views/layouts/blue.html.erb"
'basic'
end
end
相關問題
- 1. RVM:如何使用不同紅寶石的寶石?
- 2. 軌道上的紅寶石:不同頁面的標籤
- 3. 用紅寶石在軌道上呈現不同的展示頁面
- 4. 如何使用紅寶石獲取windows上的鍵盤佈局?
- 5. 在軌道上的紅寶石屈服於新的紅寶石佈局
- 6. 使紅寶石腳本使用當地的寶石,而不是共同的
- 7. 使用祖先寶石在顯示頁面上使用不同的模板
- 8. 在不同的頁面使用不同的佈局在果園CMS
- 9. 混淆安裝不同的紅寶石寶石
- 10. 紅寶石的Gemfile寶石具有比「需要」不同的行爲寶石
- 11. 紅寶石布爾運算符優先級,不同的行爲
- 12. 如何將不同的佈局應用於Drupal 7中的不同頁面?
- 13. 紅寶石和PHP HMACs不同意
- 14. 紅寶石each_slice不同尺寸
- 15. 深紅寶石不同哈希類型
- 16. 紅寶石寶石不上市
- 17. 如何使用不同的佈局不同tabhosts在android系統
- 18. 使用不同的名稱從命令行調用紅寶石
- 19. 如何讓用戶編輯他們在不同頁面上以紅寶石登錄的帳戶?
- 20. 如何將頁面佈局設置爲不同的母版頁?
- 21. 如何交織不同長度的陣列,紅寶石
- 22. 如何組號碼分成不同的水桶紅寶石
- 23. Ruby寶石引用不同版本的相同寶石
- 24. iPad上不同佈局的不同佈局ios8
- 25. 如何在OS X上安裝寶石後使用紅寶石
- 26. 頁面佈局不同於Mozilla和Chrome
- 27. 在不同的頁面上使用RedirectFromLoginPage
- 28. 紅寶石等同於JS
- 29. 紅寶石在軌道上的寶石
- 30. 問題與sqlite3寶石同時使用紅寶石,sinatra&耙