我想在 View 中渲染部分内容。这样,当单击“更多”按钮时,一切都保持不变,只是显示附加字符。就我而言,整篇文章。
<%= @article1.content[0..300] + "..." %>
<%= link_to "more", ....... %>
我不知道正确的方法是什么。不知何故,我必须向 Rails 解释,当单击“更多”按钮时,它会显示整篇文章。也许我不应该使用方法 link_to ..
提前感谢您的回复
最佳答案
您正在寻找的是 link_to_remote或link_to_function 。
link_to_remote 将从您的 Controller 获取文章的其余部分,并通过 RJS 用部分内容替换/附加到 DOM 元素。这使您可以最大程度地减少发送不必要的数据,并方便处理禁用了 JavaScript 的用户。
使用 link_to_function 时,加载页面时将提供整篇文章,但前 300 个字符之外的所有内容都将被 CSS 隐藏。这更容易设置,但会发送更多数据,它还依赖于用户启用了 JavaScript。
如果不查看源代码,普通用户可能无法区分这两种方法。
您的选择取决于您。抱歉,我没有时间提供代码示例,但互联网上有很多代码示例。
关于ruby-on-rails - link_to 可以导致渲染吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1708314/