如何解决语句即使值更新也只能运行一次
我在轨道和will_paginate上使用红宝石,然后从零开始在液体中建立分页。分页正常,但是我对活动页面以及上一个和下一个按钮有疑问。
首次加载页面且用户位于第一个分页页面上时,第一个元素被标记并且上一个按钮无效。当用户切换到页面2时,标记将丢失。更糟糕的是,用户现在可以单击上一个,甚至可以在第一个分页上使用上一个。
要检查ruby中的变量是否已按需更新,我在末尾添加了“ current_page”标记,该标记在每个分页上均能正常工作。
问题:为什么这些语句仅在第一个分页页面上起作用,并且有可能使它们在每个分页页面上起作用?
这是我的代码:
<div>
{% unless object.pagination_pages == 1 %}
<ul class="pagination">
{% unless current_page == 1 %}
<li class="page-item"><a class="page-link" href="/apps/objects/{{ object.id }}?page={{ current_page | minus: 1 }}"><i class="arrow left"></i><i class="arrow left"></i></a></li>
{% endunless %}
{% if current_page == 1 %}
<li class="page-item page-link"><i class="arrow left"></i><i class="arrow left"></i></li>
{% endif %}
{% for i in (1..object.pagination_pages) %}
{% if forloop.index != current_page %}
<li class="page-item"><a class="page-link" href="/apps/objects/{{ object.id }}?page={{ forloop.index }}">{{ forloop.index }}</a></li>
{% else %}
<li class="page-item active"><a class="page-link" href="/apps/objects/{{ object.id }}?page={{ forloop.index }}">{{ forloop.index }}</a></li>
{% endif %}
{% endfor %}
{% if current_page != object.pagination_pages %}
<li class="page-item"><a class="page-link" href="/apps/objects/{{ object.id }}?page={{ current_page | plus: 1 }}"><i class="arrow right"></i><i class="arrow right"></i></a></li>
{% else %}
<li class="page-item page-link"><i class="arrow right"></i><i class="arrow right"></i></li>
{% endif %}
</ul>
{% endunless %}
</div>
<br>
<p>{{ object.pagination_pages }}</p>
<p>{{ current_page }}</p>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。