我尝试在联系页面上显示Flash消息后。这是我的代码
def contact_us
UserMailer.delay.contact_email(params)
flash[:notice] = 'Thanks for contacting us!!!!!'
redirect_to contact_path
end
def contact
end
我尝试访问Flash消息但得到空白回复。
[1] pry(#<#<Class:0x0000000aef74f0>>)> flash
=> #<ActionDispatch::Flash::FlashHash:0x0000000a633328 @discard=#<Set: {}>, @flashes={}, @now=nil>
还试过this解决方案但是遇到同样的问题。 任何人都可以知道我为什么会遇到这个问题? 我该如何解决这个问题。
请求详细信息
Redirected to http://localhost:3000/contact
Completed 302 Found in 213ms (ActiveRecord: 46.9ms)
Started GET "/contact" for 127.0.0.1 at 2017-02-23 01:08:43 +0530
修改 我也试过
Try1
redirect_to contact_path, notice: 'Thanks for contacting....'
仍然遇到同样的问题。
尝试2
flash[:notice] = 'Thanks for contacting....'
flash.keep(:notice)
redirect_to contact_path
仍然遇到同样的问题。
尝试flash[:notice] doesn't work with redirect_to的所有解决方案仍然遇到同样的错误。
我使用的是ruby 2.0.0p643和Rails 4.0.13。
答案 0 :(得分:2)
我遇到了同样的问题。当我检查服务器日志时,我在控制台上出现以下错误
Can't verify CSRF token authenticity
为了解决这个问题,我添加了以下控制器行
protect_from_forgery with: :null_session
答案 1 :(得分:0)
尝试以下。
def contact_us
UserMailer.delay.contact_email(params)
redirect_to contact_path
flash[:notice] = 'Thanks for contacting us!!!!!'
end
答案 2 :(得分:0)
将此添加到您的应用程序布局:
<%= flash[:notice] %>