タイトルが示すように、フォーム テンプレートの 1 つにレーティ スター プラグインを追加しています (これを 1 回だけ実行します) が、何らかの理由で、スクリプトがスターを 2 回挿入します。
<div id="star-rate" style="cursor: pointer;">
<img alt="1" src="/assets/star-off.png" title="bad">
<img alt="2" src="/assets/star-off.png" title="poor">
<img alt="3" src="/assets/star-off.png" title="regular">
<img alt="4" src="/assets/star-off.png" title="good">
<img alt="5" src="/assets/star-off.png" title="gorgeous">
<input name="review[rating]" type="hidden">
<img alt="1" src="/assets/star-off.png" title="bad">
<img alt="2" src="/assets/star-off.png" title="poor">
<img alt="3" src="/assets/star-off.png" title="regular">
<img alt="4" src="/assets/star-off.png" title="good">
<img alt="5" src="/assets/star-off.png" title="gorgeous">
<input name="review[rating]" type="hidden"></div>
私はこれを手動で入力しませんでした。実際には、このレンダリングが適切に行われているように見えるチュートリアルに従っていました。以下は、バックボーンで書いたのと同じテンプレートで実行しているスクリプトです。
<div class="form-group">
<label for="review-rating">Rating: </label>
<div id="star-rate"></div>
</div>
<script>
$('#star-rate').raty({
path: '/assets/',
half: true,
start: 0,
scoreName: 'review[rating]'
});
</script>
この質問は2011年に一度投稿されたことがありましたが、役に立ちませんでした。rate の二重レンダリングの問題について何か考えがある人がいたら、助けてください。星の数と #star-rating div を囲む div を変更しようとしましたが、うまくいきませんでした。