gpt4 book ai didi

ruby-on-rails - Rails - 如何在初始化程序中设置全局实例变量?

转载 作者:行者123 更新时间:2023-12-03 22:48:40 25 4
gpt4 key购买 nike

我正在使用 predictor gem 。我在 initializers/predictor.rb 中初始化了推荐器:

require 'course_recommender'    

recommender = CourseRecommender.new

# Add records to the recommender.
recommender.add_to_matrix!(:topics, "topic-1", "course-1")
recommender.add_to_matrix!(:topics, "topic-2", "course-1")
recommender.add_to_matrix!(:topics, "topic-1", "course-2")

然后我想像这样在 CourseController 中使用推荐器:
class CourseController < ApplicationController
def show
# I would like to access the recommender here.
similiar_courses = recommender.similarities_for("course-1")
end
end

我如何设置 recommender作为应用程序 Controller 变量,以便我可以在 Controller 中访问它?

最佳答案

在您的 initilizers/predictor.rb你应该将你的推荐人定义为:

recommender = CourseRecommender.new

但作为:

::Recommender = CourseRecommender.new



这样您就可以在整个应用程序范围内定义一个常量,而不是定义一个局部变量。在您的初始化程序和 Controller 中,您可以通过 Recommender 访问它.

关于ruby-on-rails - Rails - 如何在初始化程序中设置全局实例变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23588674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com