作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在我的辅助方法中运行一个循环。
这给了我一个结果,比如在 6 个项目之后,该行关闭,然后对于接下来的 6 个项目,创建另一行,然后继续。
现在我想要另一个条件,如果有超过 2 行,我不想显示第三个或第四个循环,而是我想放置一个链接/按钮,上面写着“显示更多”,然后单击“显示其他”项目。
这是代码
part_child_option. each_slice(6) do | six_o|
html += "<div class = 'row'>"
six_o.each do |o|
html += "<div class='col-sm-2 uno_part_wrapper'>"
html += "<label class = 'p_name' for='#{attr_name}'>"
html += image_tag o.photo(:small), class: "tick_option_img"
html += "</label>"
html += "</div>"
end
html += "</div>"
end
html.html_safe
对此有什么想法吗?我们可以设置一个类似 if count>2
的条件,隐藏剩余行并单击显示全部吗?
最佳答案
请详细说明您的问题并显示 View 中的一些代码。问题是当单击“更多+”按钮时您想要做什么(想要打开新的索引页或通过 ajax 仅加载剩余行)。
根据可用的描述,我建议您放置一个link_to more, items_path
并在所有项目的索引页面上重定向。
更新:每行包含 6 个元素,默认情况下有 2 行意味着 12 个元素。因此,请将 each_slice
循环替换为 each_slice_with_index
并添加 if
条件。
例如
part_child_option. each_slice_with_index(6) do | six_o , i|
if i <= 1
html += "<div class = 'row'>"
six_o.each do |o|
html += "<div class='col-sm-2 uno_part_wrapper'>"
html += "<label class = 'p_name' for='#{attr_name}'>"
html += image_tag o.photo(:small), class: "tick_option_img"
html += "</label>"
html += "</div>"
end
html += "</div>"
elsif i == 2
show link here
html += same code as above with hidden class added
else
html += same code as above with hidden class added
end
end
我建议将一些行生成代码放到更小的方法中,以使这个帮助器变得简单。
关于javascript - 显示 Rails 项目中助手内行的隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32264875/
我是一名优秀的程序员,十分优秀!