jquery - 铁路星级评定系统

标签 jquery ruby-on-rails ajax rating-system

在我的项目中,我想使用评级系统 http://www.jqueryrain.com/?SGgGB_oZ我已经成功地将它添加到我的项目中,并且它有效。我有 2 个模型:赌场和评级。赌场 has_many : ratings 和评级 belongs_to :casino。在我的赌场索引页面上,我想显示每个赌场的评级系统。这是我的观点:

<h1>List of casinos</h1>

<div class="casinos-list">
  <% @casinos.each do |casino| %>
    <div class="casino-item">
      <p class="casino-name"><%= link_to casino.name, casino %></p>
      <p class="casino-description"><%= casino.description %></p>
      <ul class="rating">
        <% form_id = "casino_#{casino.id}_rating" %>
        <%= form_for casino.ratings.last || casino.ratings.build, html:
            { id: "casino_#{casino.id}_rating", class: 'star_rating_form' } do |f| %>
          <%= f.hidden_field :casino_id %>
          <%= f.hidden_field :score, id: "#{form_id}_stars", class: 'star-value' %>
        <% end %>

      </ul>
      <div id="<%= "average_rating_#{form_id}" %>"><%= casino.average_rating.to_f %></div>
      <div id="<%= "rate_#{casino.id}" %>" class="rateit" data-rateit-mode="font">
      </div>
    </div>
  <% end %>
</div>

我的application.js:

$(document).on('turbolinks:load', function () {

  $('.rateit-reset').remove();

  $('.rateit-hover').click(function () {
    var rating = $(this).parents().attr('aria-valuenow');
    var float_number = parseFloat(rating);
    var rating_form_input = $(this).parents().parents('.casino-item').children('.rating').children('.star_rating_form').children('.star-value');
    var form_id = $(this).parents().parents('.casino-item').children('.rating').children('.star_rating_form').attr('id');
    rating_form_input.val(float_number);

    $.ajax({
      type: 'post',
      url: $('#' + form_id).attr('action'),
      data: $('#' + form_id).serialize()
    });
  });

});

它可以工作,将正确的值保存到数据库中,但是,正如您所看到的,我在这里使用form_forcasino. ratings.last。我需要向评级数组中添加一个新评级,但不要更改最后一个评级。有什么想法我应该怎么做?谢谢。

最佳答案

如果您只想添加新评级,请删除 casino. ratings.last。仅保留 casino. ratings.build

关于jquery - 铁路星级评定系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41265002/

相关文章:

javascript - 单击按钮时多次出现验证消息

ruby-on-rails - 响应 CSV 时错过模板

ruby-on-rails - Rails 3 用图像替换链接文本

ruby-on-rails - Rails,你如何在绝对最低级别访问原始请求数据?

jquery - 父div透明背景但不影响子div透明度

jQuery 通过滚动切换 .on() 和 .off()

json - 对于 JSON 请求,jQuery 1.5 AJAX 调用失败并显示 "invalid label"

javascript - 获取下拉菜单的 href 属性 onchange 的值

ajax - 如何检查我的 AJAX 是否支持浏览器?

javascript - Leaflet - 从静态文件和 API 调用中获取数据以构建分区统计图