Ric*_*wis 5 ruby validation ruby-on-rails ruby-on-rails-3
如果我在模型中设置了验证消息
validates :name, :presence => {:message => 'The name cant be blank.'}
Run Code Online (Sandbox Code Playgroud)
如何在闪光警报中显示该消息,这是我到目前为止所尝试的
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
Run Code Online (Sandbox Code Playgroud)
但我得到的是页面顶部的黑色错误信息条,其中没有文字,在我的布局/应用程序中我有这个
<% 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>
Run Code Online (Sandbox Code Playgroud)
任何指针赞赏
通过flash消息显示验证错误并不是一个好主意,但如果你真的需要它:
flash.now[:error] = @message.errors[:name].first
Run Code Online (Sandbox Code Playgroud)
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
归档时间: |
|
查看次数: |
11492 次 |
最近记录: |