Я хочу добавить сообщение, когда пользователь пытается войти в систему, и он не подтвержден, я хочу отобразить это сообщение в разделе уведомлений, в основном, разработчик должен предоставить нам это сообщение, но я не вижу никаких сообщение в этом случае. Поэтому я решил добавить его вручную из сеансов контроллера здесь мой код:devise overriding sessions controller
class SessionsController < Devise::SessionsController
def new
super
end
def create
user = User.find_by_email(params[:user][:email])
self.resource = warden.authenticate!(auth_options)
set_flash_message(:notice, :signed_in) if is_flashing_format?
sign_in(resource_name, resource)
if user.confirmed_at.nil?
flash[:notice] = "my message here"
end
yield resource if block_given?
respond_with resource, location: after_sign_in_path_for(resource)
end
end
проблема вспышки [: извещение] пуст после выполнения действия, в консоли у меня есть
Started POST "https://stackoverflow.com/users/sign_in" for 127.0.0.1 at 2014-11-18 15:07:21 +0200
Processing by SessionsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"xC86tz4kZjcSMqXOL/+qpwlh5VlSbnsvLj93N5jb3NI=", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]"}, "commit"=>"Sign in"}
(0.2ms) SELECT COUNT(*) FROM "landing_page_reports"
LandingPageReport Load (0.2ms) SELECT "landing_page_reports".* FROM "landing_page_reports" ORDER BY "landing_page_reports"."id" DESC LIMIT 1
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1
CACHE (0.0ms) SELECT "users".* FROM "users" WHERE "users"."email" = '[email protected]' LIMIT 1
(0.1ms) begin transaction
(0.2ms) commit transaction
Completed 401 Unauthorized in 193ms
как можно Я показываю это сообщение?
flash по-прежнему пуст на странице – maki
Добавили ли вы петлю на флешку в своем представлении, как предоставленная ссылка? –
мои флеш-объекты похожи на то, что #, @ closed = false, @flashes = {: alert => "Вы должны подтвердить ваш аккаунт перед продолжением. "}, @ now = nil> –
maki