se ho impostato un messaggio di convalida entro il mio modelloVisualizza messaggio di errore in Flash Rails Alert 3
validates :name, :presence => {:message => 'The name cant be blank.'}
Come faccio ad avere quel messaggio di presentarsi in un avviso di flash, questo è quello che ho provato finora
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
ma tutto quello che ottiene è una striscia messaggio di errore nera nella parte superiore della pagina senza testo in esso, nel mio layout/applicazione ho questo
<% 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>
Tutti gli indicatori hanno apprezzato
Grazie voi, quindi se volevo avere più messaggi di errore mostrano farei una chiamata separata per ciascuno di essi? – Richlewis
Inoltre puoi usare '@ message.errors [: name] .join (", ")' o '@ message.errors.full_messages.join (". ")' Per mostrare tutti i messaggi di validazione. Ma è meglio mostrare gli errori vicino ai campi (questo è più facile da usare), usare [semplice_form] (https://github.com/plataformatec/simple_form) gem, puoi vedere gli esempi nei documenti. – ole
sì, inserirò un po 'di validazione js, mi sto solo esercitando con alcune cose sul lato server :) – Richlewis