我使用JQuery插件为我的简单表单字段提供星级评分样式。这就是图书馆:http://plugins.krajee.com/star-rating
我用Slim形式称这个类为:
td = f.input :score, label: false, input_html: {class: 'rating'}
它显示如下:
这是我生成的HTML表单:
<form novalidate="novalidate" class="form-vertical edit_arquivo" id="edit_arquivo_1" action="/documentos/1/arquivos/1" accept-charset="UTF-8" method="post"></form>
<input name="utf8" type="hidden" value="✓">
<input type="hidden" name="_method" value="patch">
<input type="hidden" name="authenticity_token" value="HPAt+RG4IluAdpIhsNSdMw/tFQ2PF0CzIWUGhUwkZ+AXcyy0fZOLSW+EYMAkt1m56s+KMW25aEbce/MtfNjwwA==">
<tr>
<td>
<div class="form-group integer optional arquivo_score">
<div class="controls">
<div class="star-rating rating-xs rating-active">
<div class="rating-container rating-gly-star" data-content="">
<div class="rating-stars" data-content="" style="width: 80%;"></div>
<input class="numeric integer optional rating form-control hide" type="number" step="1" name="arquivo[score]" id="arquivo_score">
</div>
</div>
</div>
</div>
</td>
<td>
<input type="submit" name="commit" value="Atualizar Arquivo" class="btn btn-default btn btn-default btn-primary btn-large">
</td>
</tr>
但是,由于某些原因我不知道为什么,只有参数arquivo_score没有被发送到我的控制器,正如我的请求所说:
Started PATCH "/documentos/1/arquivos/1" for ::1 at 2015-02-20 17:18:53 -0300
Processing by ArquivosController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"wB2bfSO4VgQyZ+No4zu5OY8hYgsO7WWI1GzSJ9E05LDLnpowT5P/Ft2VEYl3WH2zagP9N+xDTX0pcieP4chzkA==", "arquivo"=>{"cancelado"=>"0", "observacao"=>""}, "commit"=>"Atualizar Arquivo", "documento_id"=>"1", "id"=>"1"}
有人能告诉我我错过了什么吗?我可以看到该字段与其他字段之间的差异是字段数据内容,但我不知道它是否与该问题相关。我&#39;丢失?
答案 0 :(得分:0)
我认为它是由turbolink引起的,当你只是切换页面时它会取代身体而不会刷新。尝试在代码中添加data-no-turbolink
。