ruby-on-rails - flash[:notice] 消息不会显示
问题描述
我正在制作一个创建和验证一些输入的应用程序,但是我无法通过 flash[:notice] 或成功消息显示错误消息,但它确实可以验证
子公司控制人
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
子公司/new.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>
解决方案
:notice
您应该在控制器中的某处显式分配消息,并在视图中的某处显示它。后者可能在您的默认视图中,但在显示的代码中不存在。
推荐阅读
- javascript - 如何使用此脚本函数更改 textarea 的值?
- php - Laravel 5.5.* 目录结构不同
- javascript - 过滤值第二次点击显示所有元素
- spring-boot - Spring Boot:单元测试存储库方法的最佳策略是什么?
- javascript - 从没有数组的函数链中提取数据
- google-cloud-platform - 在 Apache Beam 数据流中使用 Spanner
- javascript - 在浏览器中充电之前自动加密javascript文件
- c++11 - 在 C++ 中的函数覆盖中,如何使用派生类 obj 从派生类函数中打印基类函数
- ios - 如何在ios swift3中使用SearchBar过滤detailTextLabel数据
- azure-ad-b2c - 没有自定义策略的 Azure AD B2C 日期属性