【问题标题】: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 的顶部 :)。

标签: ruby-on-rails raty


【解决方案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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-13
    • 2021-06-05
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多