Masz tu małe pytanie.errors.full_messages format in rail 3
mojej uwadze Flash/Alarmy jest wewnątrz [" "]
W moim kontrolera, muszę pokazać błędy, jeśli formularz nie zostanie zapisany.
format.html { redirect_to new_project_procurement_management_plan_path, alert:"#{@project_procurement_management_plan.errors.full_messages}"}
Oto jak kładę migać do widoków:
_alert.html.erb:
<% [:notice, :error, :alert].each do |level| %>
<% unless flash[level].blank? %>
<div class="alert alert-<%= flash_class(level) %>" id="flash">
<a class="close" data-dismiss="alert" href="#">×</a>
<%= content_tag :p, flash[level] %>
</div>
<% end %>
<% end %>
aw moim pliku pomocnika:
#Flash Message
def flash_class(level)
case level
when :notice then "success"
when :error then "error"
when :alert then "error"
end
end
Teraz w jaki sposób można Usuwam swój komunikat o błędzie wewnątrz [" "]
Ktoś wie, gdzie to skonfigurować? Dzięki.
EDIT
To jest wiadomość walidacji w moim modelu:
def equality
self.items.each do |item|
errors.add(:base, "#{item.description.capitalize}: Quantity must be equal to the breakdown of quantity!") if item.months != item.qty
end
end
dziękuję. Kiedy używam tego do zapełnienia komunikatu z ostrzeżeniem za pomocą javascriptu, używa on zabawnych symboli: "Building can ' t be blank" ---> jakikolwiek pomysł, jak mogę się pozbyć "& # 39" jakichkolwiek wskazówek byłby bardzo doceniany – BKSpurgeon
Wygląda tak jak javascript próbuje oczyścić twój ciąg dla ciebie, prawdopodobnie musisz po prostu użyć czegoś takiego jak "unescape()" lub podobnego, aby formatowanie powróciło do normy –
Aby dodać do twojej odpowiedzi, stwierdziłem, że sprawdzam, co jest zwracane jest pomocny. Chciałbym użyć instrukcji debugowania w kontrolerze, aby zobaczyć, co zwraca '@ project_procurement_management_plan.errors.full_messages' lub samo w konsoli' Rails'. – Tass