gpt4 book ai didi

ruby-on-rails - 在 Flash 警报 Rails 3 中显示错误消息

转载 作者:数据小太阳 更新时间:2023-10-29 07:12:51 24 4
gpt4 key购买 nike

如果我在模型中设置验证消息

validates :name, :presence => {:message => 'The name cant be blank.'}

我如何让该消息显示在闪光警报中,这是我迄今为止尝试过的方法

def create
@message = Message.new(params[:message])
if @message.valid?
ContactMailer.send_mail(@message).deliver
redirect_to(root_path, :notice => "Thanks for your message, I will be in touch soon")
else
flash[:error] = @message.errors
render :new
end
end

但我得到的只是页面顶部的黑色错误消息条,其中没有文本,在我的布局/应用程序中我有这个

<% flash.each do |name, msg| %>
<div class="alert alert-<%= name == :notice ? "success" : "error" %>">
<%= content_tag :div, msg, :id => "flash_#{name}" if msg.is_a?(String) %>
</div>

感谢任何指点

最佳答案

通过 flash 消息显示验证错误不是一个好主意,但如果你真的需要它:

flash.now[:error] = @message.errors[:name].first

如果您需要立即显示消息,您应该使用 flash.now[:error]

http://api.rubyonrails.org/classes/ActionDispatch/Flash/FlashHash.html#method-i-now http://api.rubyonrails.org/classes/ActiveModel/Errors.html#method-i-5B-5D

关于ruby-on-rails - 在 Flash 警报 Rails 3 中显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17721404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com