Ruby on rails 如何在Rails中更改flash[:注意]仅在一个页面上的位置?

Ruby on rails 如何在Rails中更改flash[:注意]仅在一个页面上的位置?,ruby-on-rails,notice,Ruby On Rails,Notice,我需要把我所有的闪光通知下面的标题,除了一页 只有在一页上,我应该把它放在不同的地方 编辑 我在我的acton中添加了,我想在这一行中使用另一个布局: render :layout => 'show' 现在,当我要展示页面时,它给了我: undefined method `url' for nil:NilClass 但不渲染此布局-没有错误 编辑 在Rails中可能吗?在我的脑海里,你可以检查一下视图中当前控制器的动作,看看是否需要移动我们的flash消息 Rails将这些参数

我需要把我所有的闪光通知下面的标题,除了一页

只有在一页上,我应该把它放在不同的地方

编辑

我在我的acton中添加了,我想在这一行中使用另一个布局:

  render :layout => 'show'
现在,当我要展示页面时,它给了我:

  undefined method `url' for nil:NilClass
但不渲染此布局-没有错误

编辑


在Rails中可能吗?

在我的脑海里,你可以检查一下视图中当前控制器的动作,看看是否需要移动我们的flash消息

Rails将这些参数传递给每个视图(例如:如果我们在
userscocontroller
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

这很容易在任何地方显示flash消息

  <% flash.each do |name, msg| %>
    <%= content_tag :div, msg, class: "flash notice" , id:"flash_notice" %>
  <% end %>

使用布局。例如,一个布局是主布局,在那里渲染flash,第二个布局是使用特定flash的不同布局rendering@Denis当我创建
show
布局时,奇怪的错误开始出现。什么样的错误?发布它们会有所帮助。我使用的是相同的默认布局,但没有通知消息。您不必仅为一次更改就复制整个布局。为什么不在if条件下显示flash?如果当前页面等。。。
  <% flash.each do |name, msg| %>
    <%= content_tag :div, msg, class: "flash notice" , id:"flash_notice" %>
  <% end %>
div.flash.notice {
  background: url(../images/true.png) 8px 5px no-repeat;
  background-color: #dfffdf;
  border-color: #9fcf9f;
  color: #005f00;
}