0
在SO中有一些這樣的問題,但沒有解決我的具體問題,所以我發佈了它。沒有出現在顯示屏中的Flash訊息
我試圖在我的rails項目中顯示成功和錯誤的flash通知,但他們沒有顯示,我不知道爲什麼。
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。似乎相關,但我無法弄清楚如何。
我把這是一個div在我的html.erb文件,但遺憾的是它沒有任何效果。 <%= flash.now [:notice] if flash.now [:notice]%> – PanicBus
嘗試'<%= debug flash%>'看看你是否得到任何輸出。 – muttonlamb