Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Mensagem de erro não aparece

Ao tentar criar um novo produto, faltando inserir quantidade ou nome menor que 5 caracteres, deveria aparecer uma mensagem de erro, como: Quantidade can't be blank. Só aparece o quadrado do Bootstrap.

Ao salvar um produto com sucesso, aparece a mensagem da forma correta.

arquivo new.html.erb

<% @produto.errors.full_messages.each do |message| %>
    <div class="alert alert-danger" role="alert"><% message %></div>
<% end %>

<%= form_for @produto do |f| %>
<div class="form-group">
    <%= f.label :nome %> 
    <%= f.text_field :nome, class: "form-control" %>
</div>

<div class="form-group">
    <%= f.label :descrição %>
    <%= f.text_area :descricao, class: "form-control", rows: 4 %>
</div>

<div class="form-inline">
    <div class="form-group">
        <%= f.label :quantidade %>
        <%= f.number_field :quantidade, step: 1, class: "form-control" %>
    </div>

    <div class="form-group">
        <%= f.label :preço %>
        <%= f.number_field :preco, step: 0.01, class: "form-control" %>
    </div>
    <%= f.submit "Criar o produto", class: "btn btn-default btn-primary" %>
</div>

<% end %>

arquivo produto.rb

class Produto < ApplicationRecord
    validates :quantidade, presence: true
    validates :nome, length: { minimum: 5 }
end

Att, Felipe

1 resposta
solução!

Oi Felipe, tudo bom?

Aparentemente faltou um pequeno detalhe (um caractere) ao pedir pra imprimir a mensagem de erro.

No seu código tá:

<% message %>

Sendo que pra imprimir o valor de uma variável v é

<%= v %>