Итак, у меня есть уведомление о двух вспышках, которое должно появиться, если сообщение успешно сохранено, а другое, если есть ошибка при создании нового сообщения. Я осуществил это некоторое время назад, но я только понял, что ошибка вспышки не отображается должным образом. Все, что отображается, - это красное пустое уведомление в верхней части окна, в то время как уведомление об успешном сохранении отображается правильно.Flash alert Ошибка, не отображающая Rails
для моего контроллера я есть:
def create
@topic = Topic.new
@topic.name = params[:topic][:name]
@topic.description = params[:topic][:description]
@topic.public = params[:topic][:public]
if @topic.save
redirect_to @topic, notice: "Topic was saved successfully."
else
flash.now[:alert] = "Error creating topic. Please try again."
render :new
end
end
новый вид сообщения:
<div class="col-md-8">
<%= render partial: 'form', locals: { topic: @topic, post: @post } %>
</div>
</div>
_form.html:
<%= form_for [topic, post] do |f| %>
<% if post.errors.any? %>
<div class="alert alert-denger">
<h4><%= pluralize(post.errors.count, "error") %>.</h4>
<ul>
<% post.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<%= form_group_tag(post.errors[:title]) do %>
<%= f.label :title %>
<%= f.text_field :title, class: 'form-control', placeholder: "Enter post title" %>
<% end %>
<%= form_group_tag(post.errors[:body]) do %>
<%= f.label :body %>
<%= f.text_area :body, rows: 8, class: 'form-control', placeholder: "Enter post body" %>
<% end %>
<div class="form-group">
<%= f.submit "Save", class: 'btn btn-success' %>
</div>
<% end %>
обеспечивают пожалуйста, ваше мнение, как вы реализуете сообщение об ошибке? –
Попробуйте помечать 'flash.now [: alert] =" Ошибка создания темы. Повторите попытку. "' After' render: new' – Pavan
@OlegSobchuk Я представил New Post View. и я попробовал все еще получать пустое красное уведомление без слов в нем –