simple_form 上的星级不会发送表单值
Posted
技术标签:
【中文标题】simple_form 上的星级不会发送表单值【英文标题】:Star rating on simple_form doesn't send the form value 【发布时间】:2015-04-22 16:53:50 【问题描述】:我正在使用 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"
谁能告诉我我错过了什么?我可以看到该字段与其他字段之间的区别是字段数据内容,但我不知道它是否与该问题有关。我错过了什么?
【问题讨论】:
请格式化您的 html。 可能是表单结束标记。另外,我发现表单中有一个表格,但表格标记不完整,这很奇怪。 有时这会使浏览器从表单中获取标记或其他奇怪的行为。 @LearnRailsFastandFree 现在它有时会发送值为“0”的参数,有时不发送。如果我刷新页面,它会发送参数,如果我点击按钮而不刷新,它不会发送任何 HTTP 请求。 现在怎么样了?你改变了什么? 【参考方案1】:我认为是turbolink引起的,当你只是切换页面时它会替换body但不刷新。尝试在标签中添加data-no-turbolink
。
【讨论】:
以上是关于simple_form 上的星级不会发送表单值的主要内容,如果未能解决你的问题,请参考以下文章
simple_form: 禁用表单而不添加 disabled: true 或 readonly: true 到每个输入
无法让 rails 搜索表单与 simple_form 和 sunspot 一起使用
如何使用 AJAX 更新 simple_form 输入字段?