0

我有许多代码,它们都有不同的含义,例如“取消”、“确认”等,我将代码存储在数据库中。我想在我的 Rails 应用程序周围的许多不同地方使用单词形式,并想知道人们对此有何建议以使事情尽可能高效。

我在我的观点中考虑了一个案例陈述,但它会被重复,我也想在我的观点中避免逻辑。所以我想也许是一个助手,但它应该是助手中的一个案例陈述吗?

到目前为止,这是我在相关帮助文件中的内容:

def status_word(status)
  case status
  when 1
    puts "Cancelled"
  when 2
    puts "Confirmed"
  end
end

我认为它是这样的:

<%= status_word(1) %>

但在我看来没有任何输出。我可以/应该在这里使用“放置”还是有更好的方法?

4

1 回答 1

0

你的使用puts不正确。它用于写入标准输出,而不是用于从方法返回值。你想要return,或者只是让值从方法的末尾掉下来:

def status_word(status)
  case status
  when 1 then "Cancelled"
  when 2 then "Confirmed"
  end
end

puts每个字符串之前,您实际上是在返回 的返回值puts,即 nil

irb(main):001:0> puts "what"
what
=> nil
于 2013-09-11T18:20:25.130 回答