我需要将所有闪存通知放在标题下方,除了一页以外。如何更改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