Я определил действия и правила для вознаграждения пользователей благодаря заслуге драгоценности.
Однако, это не работает. После выполнения вознагражденных действий пользователь не получает никаких баллов.
Вот мой код:
Во-первых, вот мой взгляд:
<div class="col-md-3 text-center">
<p class="dark-blue"><%= @user.points %></p>
<p class="grey-light">Points</p>
</div>
Во-вторых, вот модель point_rules:
#Model/merit/point_rules.rb
module Merit
class PointRules include Merit::PointRulesMethods
def initialize
score 15, on: 'pages#create', to: [:user]
end
end
end
В-третьих, метод создания в страницах контроллера:
def create
@comment = Comment.new
@comment.title = params[:title]
@comment.content = params[:content]
@comment.created_at = params[:created_at]
@comment.score = 0
@comment.author = User.find(session[:user_id]).user_name
@comment.user = User.find(session[:user_id])
@comment.save
redirect_to "/feed"
end
Наконец, заслуга.rb:
#config/initializers/merit.rb
Merit.setup do |config|
# Check rules on each request or in background
config.checks_on_each_request = true
# Define ORM. Could be :active_record (default) and :mongoid
config.orm = :active_record
# Add application observers to get notifications when reputation changes.
# config.add_observer 'MyObserverClassName'
# Define :user_model_name. This model will be used to grand badge if no
# `:to` option is given. Default is 'User'.
config.user_model_name = 'User'
# Define :current_user_method. Similar to previous option. It will be used
# to retrieve :user_model_name object if no `:to` option is given. Default
# is "current_#{user_model_name.downcase}".
config.current_user_method = 'current_user'
# Add application observers to get notifications when reputation changes.
# config.add_observer 'MyObserverClassName'
end
Кроме того, Forest сообщает my в CLI, что "модель sash", по-видимому, не существует для модели "Merit :: ActivityLog".
Как это решить?
Заранее спасибо.
РЕДАКТИРОВАТЬ:
Вот следы стека возможной ошибки [заслуга] цель не найдена: неинициализированная константа Page.
/Users/charbe/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/merit-3.0.1/lib/merit/base_target_finder.rb:13:in `find'
[merit] no target found: uninitialized constant Page. /Users/charbe/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/merit-3.0.1/lib/merit/base_target_finder.rb:13:in `find'
[merit] no target found: uninitialized constant Page. /Users/charbe/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/merit-3.0.1/lib/merit/base_target_finder.rb:13:in `find'
[merit] no target found: uninitialized constant Page. /Users/charbe/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/merit-3.0.1/lib/merit/base_target_finder.rb:13:in `find'
[merit] no target found: uninitialized constant Page. /Users/charbe/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/merit-3.0.1/lib/merit/base_target_finder.rb:13:in `find'
[merit] no target found: uninitialized constant Page. /Users/charbe/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/merit-3.0.1/lib/merit/base_target_finder.rb:13:in `find'
[merit] NoMethodError on `TrueClass#user` (called from Merit::TargetFinder#other_target)
[merit] NoMethodError on `TrueClass#user` (called from Merit::TargetFinder#other_target)