Estive dando uma olhada recentemente em Rails e percebi que há muitas referências a current_user
. Isso só vem do Devise? e devo defini-lo manualmente mesmo se usar o Devise? Existem pré-requisitos para usar current_user
(como a existência de sessões, usuários, etc)?
ruby-on-rails
batata grande
fonte
fonte
session
está embutido no Rails. Por padrão, ele usa um cookie para manter o estado de um cliente entre as solicitações. Consulte Guides.rubyonrails.org/security.html#sessions para obter mais informações.return unless session[:user_id]
como mostrado na resposta de Zach - sem isso, cadaif current_user
verificação enquanto desconectado irá disparar outra consulta ao banco de dados.Sim,
current_user
usasession
. Você pode fazer algo semelhante em seu controlador de aplicativo se quiser lançar sua própria autenticação:fonte
session
é meio parecidoparams
, exceto que persiste para várias solicitações. Você pode usá-lo para armazenar qualquer tipo de parâmetro persistente exclusivo para seus usuários individuais (até que sua sessão expire ou eles efetuem logout). Você pode ler mais sobre isso aqui: ActionController: Acessando a sessão