Rails - Current_user 删除 Pain 时为 nil
Rails - Current_user is nil when delete a Pain
我正在使用 Public Activity 来接收通知。我正在我的祈祷模型中跟踪新的祈祷。出于某种原因,当我删除一个 Pain 时,current_user 为零,我不明白为什么。
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
我可以提供更多代码,但我不确定哪些代码会有用。
非常感谢
编辑:我忘了说我正在尝试删除 Rails 管理页面中的 Pain
编辑 2: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
好的,我找到了解决方案,在我的 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。
感谢大家
我正在使用 Public Activity 来接收通知。我正在我的祈祷模型中跟踪新的祈祷。出于某种原因,当我删除一个 Pain 时,current_user 为零,我不明白为什么。
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
我可以提供更多代码,但我不确定哪些代码会有用。 非常感谢
编辑:我忘了说我正在尝试删除 Rails 管理页面中的 Pain
编辑 2: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
好的,我找到了解决方案,在我的 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。
感谢大家