2 votes

Rails - Current_user est nul lors de la suppression d'un Pain

J'utilise l'activité publique pour recevoir des notifications. Je suis les nouvelles prières dans mon modèle de prière. Pour une raison quelconque, current_user est nul lorsque je supprime un Pain et je ne comprends pas pourquoi.

class Prayer < ApplicationRecord
 include PublicActivity::Model

  has_many :activities, as: :trackable, class_name: 'PublicActivity::Activity', dependent: :destroy
  tracked owner: Proc.new { |controller, model| controller.current_user } #fail current_user is nil
end

class Pain < ApplicationRecord
 belongs_to :user
 has_many :prayers, dependent: :destroy
end

Je peux fournir plus de code, mais je ne suis pas sûr de ce qui serait utile. Merci beaucoup

Edit : J'ai oublié de dire que j'essaie de supprimer la douleur dans la page d'administration de Rails.

Edit2 : Configuration admin Rails

RailsAdmin.config do |config|

 config.actions do
  dashboard                     # mandatory
  index                         # mandatory
  new
  export
  bulk_delete
  show
  edit
  delete
  show_in_app
 end

 config.authorize_with do |controller|
  redirect_to main_app.root_path unless current_user &&    current_user.admin
 end
end

0voto

Ayter Points 11

Ok j'ai trouvé la solution, dans mon ApplicationController j'appelle le helper_method :current_user

class ApplicationController < ActionController::Base
  helper_method :current_user

  def current_user
    @current_user ||= User.find_by(id: session[:user])
  end
end

Maintenant je peux accéder à current_user dans mon modèle Prayer.

Merci pour tout.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X