微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 在轨道上添加5星评级4

我想在我的rails 4应用程序中添加5星评级.大多数资源都需要用户模型.我的情况不同.我的目标网站访问者没有任何身份验证,他们可以投票.我希望网站访问者投票选课.

这是我课程模型的一部分(course.rb)

has_many :ratings

然后rating.rb

belongs_to :course

我希望在索引页面添加所有课程的评级链接,即course_controller上的索引方法应该处理投票.当然,我可能需要使用评级控制器.我不能把它拉下来.并想出我应该怎么做呢?一个详细的答案将不胜感激.到目前为止,我所做的大部分内容都基于本教程http://paweljaniak.co.za/2013/07/25/5-star-ratings-with-rails/,尽管我还没有成功.

解决方法

您需要在rating表中添加一列,以便评级知道它们属于哪个课程.

rails generate migration add_course_reference_to_ratings course:references score:integer default: 0

您会注意到在迁移中认分数是0的整数.

迁移数据库rake db:migrate

您的评级需要路由,但您的评级应该只需要更新操作:

resources :ratings,only: :update

在您的课程控制器中,将以下内容添加到索引操作中已有的内容中:

def index
  @rating = rating.where(comment_id: @comment.id).first
  unless @rating
    @rating = rating.create(comment_id: @comment.id,score: 0)
  end
end

该教程中的视图和JavaScript内容应该可以正常工作.请注意,您没有对登录用户进行验证,因此没有任何内容阻止人们发送影响平均值的无限评级.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐