整数列不在Rails中递增

时间:2016-10-14 19:49:00

标签: ruby-on-rails

我的工作方式是允许用户“标记”评论以进行审核。我在注释上使用了一个整数列,当用户点击“标记”时,增量就会出现这样的想法:主持人将首先看到带有最多标记的注释。我之前和我的一个模型一起使用这个模型我会以同样的方式使用我的评论模型但它没有做任何事情,没有抛出任何错误但也没有做任何事情。

Reviews_controller.rb

  def flag
      @review = Review.find(params[:id])
      @review.increment!(:flag)

  end

show.html.erb

<%= link_to 'Flag', flag_review_path(review), method: :post, :remote => true %>

迁移以添加标记和有用的upvote列(稍后将实施)

class AddColumnsToReviews < ActiveRecord::Migration
  def change
    add_column :reviews, :flag, :integer, default: 0
    add_column :reviews, :useful, :integer, default: 0
  end
end

**旗帜路线**

  resources :reviews do
    member do
      post 'flag', :review
    end
  end

对此的任何帮助将不胜感激。另外,我不知道这是否相关,但即使我的迁移声明这些字段的默认值在我的数据库中应为0,它显示为NULL。

1 个答案:

答案 0 :(得分:1)

想出来......感谢John,Henners66和Gaston的建议。我通过浏览服务器日志来解决问题,它非常复杂,而且我很可能会出现这种错误(如果是这样,请随时提供建议)。

评论显示在“教授”页面上,几乎与教授有关,允许学生提供对他们教授的评论。评论控制器有before_action :set_professor,这阻止了标志的工作。因此,通过添加before_action :set_professor, :except => [:flag],我能够使其正常运行。

再次感谢大家的回复和建议。由于您的建议,我受到鼓舞,在服务器日志中挖掘。