ruby-on-rails - 如何制作基于时间的问候语

标签 ruby-on-rails ruby

我正在尝试向用户显示一条问候消息。到目前为止我已经:

def greet
  now = Time.now
  today = Date.today.to_time

  morning = today.beginning_of_day
  noon = today.noon
  evening = today.change( hour: 17 )
  night = today.change( hour: 20 )
  tomorrow = today.tomorrow

  if (morning..noon).cover? now
    'Good Morning'
  elsif (noon..evening).cover? now
    'Good Afternoon'
  elsif (evening..night).cover? now
    'Good Evening'
  elsif (night..tomorrow).cover? now
    'Good Night'
  end
end

在我看来,我正在尝试调用 <%= greet %>但是,当我这样做时,出现错误

undefined local variable or method `greet'

我不知道如何显示我的消息

<%= greet %>, <%= current_user.username %>

最佳答案

如果您希望它在 HTML 模板中可用,您应该将其添加到帮助程序中。由于它是一个通用方法,我可能会建议使用 app/helpers/application_helper.rb 文件。这应该使其可供模板使用。

关于ruby-on-rails - 如何制作基于时间的问候语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36851174/

相关文章:

ruby-on-rails - 如何在 Shrine 中调整原始图像本身的大小上传

ruby-on-rails - 如何使用 Formtastic 更改标签的类别

ruby-on-rails - 登录失败时重置 Authlogic 易过期 token

html - 如何在不使用 Nokogiri 的情况下替换 ruby​​ 中的 html 标签?

ruby-on-rails - Rails/execjs 找不到 Node.js

ruby-on-rails - 方法 width 和 height Mechanize

ruby-on-rails - 如果我学习 Sinatra 或 Padrino,这对我使用 Ruby on Rails 有帮助吗?

ruby-on-rails - 使用 redis 作为 session 存储

ruby-on-rails - 算法建议——根据类别数据计算相关商店

Ruby - 命名约定 - 类/模块名称中首字母缩略词的字母大小写?