【问题标题】:Display body content as title when Title not present标题不存在时将正文内容显示为标题
【发布时间】:2021-07-28 07:35:23
【问题描述】:

我目前正在使用 Ruby on Rails 开发一个 Web 应用程序,想知道如果没有标题,我将如何将正文内容动态显示为标题?我有验证只允许标题最多 20 个字符,所以我希望它只显示正文的前 20 个字符,因为标题不应该出现。我主要是想了解我将如何通过实现部分视图或在我将如何传递标题之间使用 or 语句来实现这一点?

【问题讨论】:

  • 这个问题有很多解决方案 - 辅助方法、演示者、模型上的方法等非常有用。
  • 这不是关于获得明确的答案,而是更多关于我可以解决这个问题的不同方法。我最终使用了一个辅助方法,因为它将在几个地方使用。

标签: ruby-on-rails model-view-controller view


【解决方案1】:

一个非常简单的方法是:

<%= instance.title.presence || truncate(instance.body, length: 20) %>

请注意,您必须将 instance 替换为您的变量名。当它在多个地方使用时,您可能需要考虑另一种方法,例如辅助方法或模型上定义的方法。

了解Object#presence 和辅助方法truncate

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多