控制器 – 如何在Rails 3.2中正确使用Flash消息
发布时间:2020-12-15 07:24:15 所属栏目:百科 来源:网络整理
导读:当使用Twitter-Bootstrap的样式不正确地提交表单时,我试图简单地呈现flash消息. 我显然遗漏了一些东西,因为我一直收到以下错误: TypeError in NewslettersController#createcan't convert Symbol into String 代码如下 视图 div class="footer_newsletter_c
当使用Twitter-Bootstrap的样式不正确地提交表单时,我试图简单地呈现flash消息.
我显然遗漏了一些东西,因为我一直收到以下错误: TypeError in NewslettersController#create can't convert Symbol into String 代码如下 视图 <div class="footer_newsletter_container"> <%= image_tag("envelope.png",:border=>0,:class => '') %> Sign up for our newsletter</br></br> <%= simple_form_for Newsletter.new do |f| %> <%= f.input :email,:label => false,:placeholder => 'Enter Your Email Address',class: "floatleft" %><%= f.button :submit,'Submit',class: "btn floatleft" %> <% end %> <%= render "layouts/messages" %> </div> 局部 <% flash.each do |name,msg| %> <div class="alert alert-<%= name == :notice ? "success" : "error" %>"> <a class="close" data-dismiss="alert">×</a> <%= content_tag :div,msg,:id => "flash_#{name}" if msg.is_a?(String) %> </div> <% end %> 调节器 class NewslettersController < ApplicationController def create @newsletter = Newsletter.new(params[:newsletter]) if @newsletter.save redirect_to :back,notice: "You have been added to our newsletter." else redirect_to :back,flash[:error] = "Oops,something went wrong. Please try again" end end def destroy @newsletter = Newsletter.find(params[:id]) @newsletter.destroy end end 解决方法
您的错误行应如下所示:
redirect_to :back,flash: {error: "Oops,something went wrong. Please try again"} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |