我需要將所有閃存通知放在標題下方,除了一頁以外。如何更改Flash [:notice]只在Rails中的一個頁面上放置?
只在一頁上我應該以不同的方式放置它。
編輯
我在阿克頓,在這裏我想用另外的佈局該行補充說:
render :layout => 'show'
而現在,當我要告訴頁面它給了我:
undefined method `url' for nil:NilClass
但沒有渲染此佈局 - 沒有錯誤。
編輯
是否有可能在Rails的?
我需要將所有閃存通知放在標題下方,除了一頁以外。如何更改Flash [:notice]只在Rails中的一個頁面上放置?
只在一頁上我應該以不同的方式放置它。
編輯
我在阿克頓,在這裏我想用另外的佈局該行補充說:
render :layout => 'show'
而現在,當我要告訴頁面它給了我:
undefined method `url' for nil:NilClass
但沒有渲染此佈局 - 沒有錯誤。
編輯
是否有可能在Rails的?
關閉我的頭頂,你可以檢查視圖中的當前控制器#動作,看看我們的Flash消息是否需要移動。
的Rails通過這些PARAMS到每個視圖(例如:如果我們在UsersController
的show
動作):
params[:controller] #=> users
params[:action] #=> show
我們可以添加一個助手,以簡化在視圖中我們的條件:
# file: app/helpers/application_helper.rb
def move_flash_messages?
params[:controller] == "users" && params[:action] == "show"
end
然後做簡單的檢查,我們的佈局:
# file: app/views/layouts/application.html.haml
- unless move_flash_messages?
= flash_messages
...
- if move_flash_messages?
= flash_messages
非常感謝! – skrypalyk
這是很容易顯示提示信息的任何地方
<% flash.each do |name, msg| %>
<%= content_tag :div, msg, class: "flash notice" , id:"flash_notice" %>
<% end %>
這裏是CSS的閃光消息
div.flash.notice {
background: url(../images/true.png) 8px 5px no-repeat;
background-color: #dfffdf;
border-color: #9fcf9f;
color: #005f00;
}
使用的佈局。例如,一個佈局是主要的,那裏你渲染你的閃光燈,第二個是你的不同的佈局與特定的閃光渲染 –
@Denis,приветтёзка)當我創建'show'佈局奇怪的錯誤開始提升。 – skrypalyk
什麼樣的錯誤?發佈他們將有所幫助。 – maru