Check comments spam or not is not working

I am new in ruby and trying to post comments by the user in services.

They were successfully posted in a services view page and stored in database as well but i want to check whether the comment by the user is spam or not.

I my service controller, i am posting the comment in updating comment attributes method then saving those in update method

What i am doing is listed below:-

def update_comment_attributes
params[:service][:comments_attributes].each{ |k, v| v.merge!(user_id:   session[:user_id]).merge!(author: User.where(:id => session[:user_id]).pluck(:name).first ).merge!(author_email: User.where(:id => session[:user_id]).pluck(:email).first )}  if params[:service] && params[:service][:comments_attributes]
end

here is update :-

def update
respond_to do |format|
  if @service.update(service_params)


    @comment = Comment.find_by(service_id:@service.id, user_id: session[:user_id])
        if @comment.spam?
            @comment.is_spam = 'Y'
            @comment.aki_response = @comment.akismet_response
            @comment.update_attribute(is_spam: 'Y')
        else
            @comment.is_spam = 'N'
            @comment.aki_response = @comment.akismet_response
            @comment.save
            @comment.update_attribute(:is_spam, 'N')

        end

    format.html { redirect_to @service, notice: 'Service was successfully updated.' }
    format.json { head :no_content }
  else
    format.html { render action: 'edit' }
    format.json { render json: @service.errors, status: :unprocessable_entity }
  end
end
 end

now as i am commenting my comments do save but it didn’t check whether it is spam or not …tried a lot got failed…

Thanks in advance