2015-04-27 93 views
0

軌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 
+0

是的,我檢查了@flash和flash [:success]都進入了頁面,但它並沒有實時更新。它可能是turbolinks? –

+0

你有沒有嘗試記錄params [:email]來檢查它是否爲零? –

回答

0

控制器:

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

視圖:

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

沒有工作。變量進入他們從未顯示的頁面。 –

2

好像你沒有辦法顯示flash消息。

在佈局文件夾中創建部分_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' %>來訪問此項。