我有许多代码都有不同的含义,例如“已取消”,“已确认”等,我将代码存储在数据库中。我希望在我的Rails应用程序周围的许多不同地方使用单词表单,并想知道人们为此推荐的内容,以尽可能保持高效。
我在我的观点中考虑了一个案例陈述,但它会重复,我也希望在我的观点中避免使用逻辑。所以我认为可能是帮助者,但它应该是帮助者中的案例陈述吗?
这是我到目前为止在我的相关帮助文件中所用的内容:
def status_word(status)
case status
when 1
puts "Cancelled"
when 2
puts "Confirmed"
end
end
我在以下视图中将其称为:
<%= status_word(1) %>
但我的观点中没有输出任何内容。可以/我应该在这里使用“put”还是有更好的方法?
答案 0 :(得分: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