Flash [: уведомления] сообщения не будут отображаться - PullRequest
0 голосов
/ 13 апреля 2020

Я создаю приложение, которое создает и проверяет некоторые входные данные, но у меня возникают проблемы с отображением сообщений об ошибках с помощью flash [: уведомлений] или сообщений об успехах, хотя оно действительно проверяет

контроллер дочерних компаний

class  SubsidiariesController < ApplicationController
  def index
    @subsidiaries = Subsidiary.all
  end

  def show
    @subsidiary = Subsidiary.find(params[:id])
  end

  def new
    @subsidiary = Subsidiary.new
  end

  def create
    @subsidiary = Subsidiary.create(subsidiary_params)
    if @subsidiary.save
      redirect_to @subsidiary
    else
      flash[:alert] = 'Você deve informar todos os dados'
      render :new
    end
  end

  def edit
    @subsidiary = Subsidiary.find(params[:id])
  end

  def update
    @subsidiary = Subsidiary.find(params[:id])

    if @subsidiary.update(subsidiary_params)
      redirect_to @subsidiary
    else
      flash[:alert] = 'Você deve informar todos os dados'
      render :new
    end
  end

  private

  def subsidiary_params
    params.require(:subsidiary).permit(:name, :cnpj , :address)
  end
end

модель дочерних компаний

class Subsidiary < ApplicationRecord
  validates :name, :cnpj, :address, presence: true
  validates :cnpj, uniqueness: true, length: {is: 14}, numericality: { only_integer: true}
end

дочерние компании / новые. html

<h1><%= @subsidiary.name %></h1><br>
<h1><%= @subsidiary.cnpj %></h1><br>
<h1><%= @subsidiary.address %></h1><br>

<p><%= link_to "Editar", edit_subsidiary_path %></p>
<p><%= link_to "Voltar", subsidiaries_path %></p>

1 Ответ

1 голос
/ 13 апреля 2020

Вы должны явно назначить :notice сообщение где-нибудь в контроллере, а также где-то в представлении показать его. Этот последний может быть в вашем представлении по умолчанию, но он нигде не присутствует в показанном коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...