Rails案例或助手

时间:2013-09-11 18:14:05

标签: ruby-on-rails ruby-on-rails-4

我有许多代码都有不同的含义,例如“已取消”,“已确认”等,我将代码存储在数据库中。我希望在我的Rails应用程序周围的许多不同地方使用单词表单,并想知道人们为此推荐的内容,以尽可能保持高效。

我在我的观点中考虑了一个案例陈述,但它会重复,我也希望在我的观点中避免使用逻辑。所以我认为可能是帮助者,但它应该是帮助者中的案例陈述吗?

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

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

我在以下视图中将其称为:

<%= status_word(1) %>

但我的观点中没有输出任何内容。可以/我应该在这里使用“put”还是有更好的方法?

1 个答案:

答案 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