У меня есть следующий в модели для вложений (я использую Скрепку):Rails validate_presence сообщение - как отобразить?
class Attachment < ActiveRecord::Base
validates_presence_of :name
validates_presence_of :attach_file_name, :message => "No file selected"
has_attached_file :attach
Большинство сообщений об ошибках, которые я получаю от Rails показать в верхней части экрана с помощью этого кода, который находится в моих макетах:
<% flash.each do |name, msg| %>
<% if msg.is_a?(String) %>
<div class="alert alert-<%= name == :notice ? "success" : "error" %>">
<a class="close" data-dismiss="alert">×</a>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
</div>
<% end %>
<% end %>
Почему сообщение подтверждения не отображается?
Спасибо за помощь!
Update1
В приложении будет создаваться из вложения образуют _form.html.erb.
Это в форме:
<h4>Attachment:</h4>
<%= f.file_field :attach, :label => 'Attachment' %>
Нам нужно больше информации. Где прилагается вложение, что модель должна быть недействительной? Как это делается? Создается ли она через AJAX? Потому что тогда ваша страница не обновляется, и поэтому она не будет внезапно появляться в вашей части флэш-ошибок. – MrDanA
Я обновил свой вопрос - надеюсь, что это поможет. – Reddirt
Откройте страницу в своей форме, затем перейдите на консоль и напишите 'gem install debugger', перезапустите сервер с помощью' -d', напишите '<% debugger%>' непосредственно перед '<% flash.each do | name, сообщ | %> ', заполните форму, чтобы вызвать это флэш-сообщение и отправить сообщение. Он будет продолжать загрузку без ответа, перейдите на консоль, где вы запустили рельсы, это будет подсказка. тип вспышки и посмотреть, что имеет переменная вспышка. Затем отредактируйте свой вопрос. - команды отладчика formore, используйте '?'. – fotanus