我正在使用predictor宝石。我在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
设置为应用程序控制器变量,以便可以在控制器中访问它? 最佳答案
在您的initilizers/predictor.rb
中,您不应将推荐人定义为:
recommender = CourseRecommender.new
但作为:
:: Recommender = CourseRecommender.new
这样,您可以在应用程序的整个范围内定义一个常量,而不是定义局部变量。在初始化程序和控制器中,您可以使用
Recommender
对其进行访问。