2016-12-21 16 views
2

Я использую Public Activity для получения уведомлений. Я отслеживаю новые молитвы в моей Молитвенной модели. По какой-то причине current_user равен нулю, когда я удалил Pain, и я не понимаю, почему.Rails - Current_user is nil when delete a Pain

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 

Я могу предоставить больше кода, но я не уверен, что было бы полезно. Большое спасибо

Edit: Я забыл сказать, что я пытаюсь удалить боль в странице администратора Rails

edit2: Рельсы ADMIN CONFIG

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 
+0

Вы не вошли в систему, я думаю? Следовательно, нет текущего пользователя. –

+0

Я забыл сказать, что я пытаюсь удалить Pain в Rails-странице администратора. – Ayter

+0

Можете ли вы показать свою конфигурацию Rails Admin? – Thanh

ответ

0

Ok Я нашел решение, в моем ApplicationController я называю 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 

Теперь я могу получить доступ к CURRENT_USER в моей молитвенной модели.

Спасибо за всех парней