发布后

时间:2015-04-27 20:11:08

标签: ruby-on-rails ruby ruby-on-rails-4

rails 4 中,页面未显示实例变量。 我有一个触发帖子的表单给出了flash消息并重定向。 但价值观是存在的,它从未表现出任何想法?

苗条表格

  - unless @flash == nil
    = @flash
  = form_tag '/contact' do
    = email_field_tag('email', nil, id:"email")
    input.btn-submit name="submit" type="submit" value="Submit"

控制器

  def form_posts_here
    if UserMailer.zemail(params[:email]).deliver
      flash[:success] = "Thank you!"
    end
    redirect_to contact_path
  end

  def new
    @flash = flash[:success]
  end

2 个答案:

答案 0 :(得分:2)

好像你没有办法显示flash消息。

在layouts文件夹中创建部分_flash.html.erb并添加此代码块。

<% flash.each do |message_type, message| %>
   <div class="alert alert-<%= message_type %> alert-dismissible" role="alert" id="flash">
   <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
   <%= simple_format(message) %></div>
<% end %>

您可以在application.html.erb中添加<%= render 'layouts/flash' %>来访问此内容。

答案 1 :(得分:0)

控制器:

def new
  flash[:success] = "Message goes here"
end

视图:

- if flash[:success].present?
  = flash[:success]