在SO中有一些这样的问题,但没有一个解决我的具体问题,所以我发布了它。
我正在尝试在我的rails项目中显示成功和错误的闪存通知,但它们没有显示,我不知道为什么。
class CheckinsController < ApplicationController
def index
@checkins = Checkin.all
@checkin = Checkin.new
end
def create
@checkin = Checkin.create(params[:checkin])
if @checkin.errors.empty?
render json: @checkin, status: 201,
:notice => 'Thanks for posting your comments.'
else
flash[:notice] = "Please enter a name."
redirect_to checkins_path
end
end
end
注意,是的,:notice
和flash[:notice]
存在不连续性,但这是控制器不会破坏它的唯一方法。
我的模型看起来像这样,正在做它应该做的事情,也就是说,如果表单中的名称字段是空的,则阻止保存:
class Location < ActiveRecord::Base
attr_accessible :name, :description
has_many :checkins
validates :name, presence: true
end
我在application.html.erb文件中有这个:
<div id="notice"><%= flash[:notice] %></div>
从技术上讲,这应该可行,它应该在发现错误时显示通知。有什么我想念的吗?
我也尝试过使用......
<% flash.each do |name, msg| -%>
<%= content_tag :div, msg, class: name %>
<% end -%>
per RoR docs无济于事。
有一点需要注意的是,它也没有渲染CSS。似乎相关,但我无法弄清楚如何。
答案 0 :(得分:1)