Я действительно новичок в Rails и мне интересно, как можно сделать следующее:
После того, как пользователь написал комментарий к греху (= статья), автор (= пользователь)должен получить 20 очков (например), добавленных к его счету (= user.score).счет - это столбец в моей таблице пользователей.
Мои модели выглядят так:
class User < ActiveRecord::Base
has_many :comments, :dependent => :destroy
has_many :absolutions, :dependent => :destroy
end
class Comment < ActiveRecord::Base
belongs_to :user
belongs_to :sin
end
class Sin < ActiveRecord::Base
has_many :comments, :dependent => :destroy
end
Контроллер моих комментариев выглядит следующим образом:
class CommentsController < ApplicationController
def new
@comment = Comment.new
end
def create
@sin = Sin.find(params[:sin_id])
@comment = current_user.comments.build(params[:comment])
@comment.sin_id = @sin.id
if @comment.save
flash[:success] = "Comment created!"
redirect_to sin_path(@sin)
else
flash[:error] = "Comment was not created."
redirect_to sin_path(@sin)
end
end
end
После нескольких часов работычтобы получить это самостоятельно, я немного запутался.После создания комментария я хотел бы изменить конкретное значение связанного объекта Пользователь.
Каков наилучший способ сделать это?
Спасибо за вашу помощь!