ruby-on-rails - link_to 可以导致渲染吗?

标签 ruby-on-rails

我想在 View 中渲染部分内容。这样,当单击“更多”按钮时,一切都保持不变,只是显示附加字符。就我而言,整篇文章。

<%= @article1.content[0..300] + "..." %> 
<%= link_to "more", ....... %>

我不知道正确的方法是什么。不知何故,我必须向 Rails 解释,当单击“更多”按钮时,它会显示整篇文章。也许我不应该使用方法 link_to ..

提前感谢您的回复

最佳答案

您正在寻找的是 link_to_remotelink_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/

相关文章:

ruby-on-rails - 三列有序列表

mysql - MariaDB 10.0.20 服务器上的 Ruby on Rails 外键迁移不适用

ruby-on-rails - Rails ActiveRecord : Pluck from multiple tables with same column name

css - 条件类名和文本 (Rails)

ruby-on-rails - 这段 Ruby 代码中发生了什么?

ruby-on-rails - 在 Rails 3.1 中更改 created_at 的格式?

javascript - 为什么 Angular 在使用 Rails Assets 管道包含它时不起作用?

javascript - 如何通过 Webpacker 使用 Rails 6.1 安装 Alpine JS 3

ruby-on-rails - 没有路由匹配 [GET] "/signout"

ruby-on-rails - 寻找一种更简单的方法来在 Rails 3 中呈现结果