编辑评论时如何让星级评分保留价值?

Posted

技术标签:

【中文标题】编辑评论时如何让星级评分保留价值?【英文标题】:How do I make the star ratings retain the value when I edit a review? 【发布时间】:2016-05-12 10:38:07 【问题描述】:

我正在使用 jquery raty 星级评分系统并且它有效。除了当我编辑例如有 4 星的评论时,编辑页面显示 0 星。这应该是 jquery 比率的行为方式吗?

或者有没有一种方法,当我编辑该评论时,编辑页面仍然会保留 4 星但仍然可以编辑?

这是我的编辑页面代码:

<%= simple_form_for([@book, @review]) do |f| %>
    <div id="rating-form">
        <label>Rating</label>
    </div>
    <%= f.input :comment %>
    <%= f.button :submit %>
<% end %>


<script>
    $('#rating-form').raty(
        path: '/assets/',
        scoreName: 'review[rating]'
    );
</script>

【问题讨论】:

首先,你可以这样做:review.surf_school = surf_school review.user = current_user 我应该编辑哪一行? 我没有看到这里的问题。您可以粘贴发布的参数吗? puts params.inspect 我没有那个代码。 只需将 puts params.inspect 放在您的方法 create 的顶部 :)。 【参考方案1】:

您只需添加一个选项。 试试这个:

 $('#div-rating').raty(
    path: '/assets/',
    scoreName: 'review[rating]',
    score: @review.rating
 );

您可以阅读此处的文档以了解选项列表: https://github.com/wbotelhos/raty#options

【讨论】:

是的,它应该返回评级。如果没有,您必须检查为什么它没有保存在数据库中 但是在我使用比率之前,它保留了评级。 首先,尝试在您的 rails c 中将@review.rating 设置为 3 或 4,并在您尝试编辑时查看其视觉上是否正确。如果您想知道为什么它没有保存,请打印您发送到控制器的帖子参数 JS 怎么接@review【参考方案2】:

您需要输入以下分数:。它对我有用。 :)

<script>
    $('#rating-form').raty(
        path: '/assets/',
        scoreName: 'review[rating]',
        score: <%= @review.rating %>
    );
</script>

【讨论】:

以上是关于编辑评论时如何让星级评分保留价值?的主要内容,如果未能解决你的问题,请参考以下文章

Android 学习笔记—— SeekBar(进度条)/RatingBar(星级评分条)

如何通过淘汰赛实现 CSS 星级评分

干货之运用CALayer创建星级评分组件(五角星)

Javascript 实现简单的星级评分功能

使用 jquery mobile MVC 刷新时,Raty 星级评分消失

如何使用带有 Django 模板标签的 amp CSS 星级评分?